Nginx按文件类型缓存标头

时间:2014-03-13 13:11:35

标签: caching nginx http-headers

我想为nginx提供的文件设置缓存标头。有没有办法根据类型为某些文件设置缓存标头?例如。我想将缓存标头设置为所有js文件,而不是其他文件。我不想根据文件所在的位置设置标题。

2 个答案:

答案 0 :(得分:4)

我知道这已经过时但是地图和过期会自动使用Cache-Control Header而不需要任何额外的模块,你仍然可以通过add_header添加公共或私人

map $sent_http_content_type $expires {
   
    application/pdf               42d;
    application/zip               42d;
    application/x-7z-compressed   42d;
    application/x-rar-compressed  42d;

    application/octet-stream  1M;

    application/javascript    3M;
    text/css                  3M;
    ~image/                   3M;
    ~video/                   3M;
    ~audio/                   3M;
    ~text/                    1d; # html/php

    default                  off;
}

expires $expires;

答案 1 :(得分:1)

您可以使用Headers More模块。它可以根据响应内容类型设置标题。

more_set_headers -t application/x-javascript 'Cache-Control: max-age=31536000'