在我的Nginx中有一个资源,它是这样配置的:
location ~ foo\.js$ {
add_header Cache-Control public;
expires 1d;
}
如果我用Firebug打开它,并查看标题,它会显示以下内容:
Cache-Control max-age=86400, public
该站点使用的是HTTPS,所以我想确保它是正确的,因为显然浏览器不会缓存它,除非它的max-age>0和public
。See this
但是当我使用curl -Ik https://...
时,我的Nginx会发生什么,它会说:
...
Expires: Sat, 22 Jan 2011 18:23:36 GMT
Cache-Control: max-age=86400
Cache-Control: public
...
它重复了Cache-Control
标头!显然,Firebug并不介意。但这是对的吗?
有没有一种更好的方法将Expires
和Cache-Control
(使用public
)设置为一行,只有两行?
发布于 2011-06-21 02:02:14
我在不同的配置上也遇到了同样的问题。这就是目前对我有效的方法。
取自Module ngx_http_headers_module的示例
map $sent_http_content_type $expires {
default off;
text/html epoch;
text/css max;
application/javascript max;
application/octet-stream max;
~image/ max;
}
server {
expires $expires;
....
}
https://stackoverflow.com/questions/4762377
复制相似问题