我的网站在 node.js 上运行,我正在使用 Nginx 从无 cookie 域中提供静态文件。对于这些文件,我设置了 Nginx 来设置过期标头。但是,它似乎不适用于我的网站图标。
我的 Nginx默认配置文件:
# static content
server {
server_name static.domain.com;
root /my/website/lives/here/public;
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
}
}
Ico 在mime.types中有一个 minetype :
image/x-icon ico;
显示没有缓存控制或过期的服务响应标头:
Accept-Ranges:bytes
Connection:keep-alive
Content-Length:32988
Content-Type:image/x-icon
Date:Tue, 11 Dec 2012 23:20:19 GMT
Last-Modified:Sat, 08 Dec 2012 11:51:28 GMT
Server:nginx/1.1.19
这些是具有缓存控制的随机图像的响应,并且正如您所期望的那样过期:
Cache-Control:max-age=31536000
Connection:keep-alive
Date:Tue, 11 Dec 2012 23:24:00 GMT
Expires:Wed, 11 Dec 2013 23:24:00 GMT
Last-Modified:Tue, 11 Dec 2012 23:04:24 GMT
Server:nginx/1.1.19
我检查了是否从静态域 (static.domain.com/favicon.ico) 而非网站文档根 (domain.com/favicon.ico) 提供了 favicon。有谁知道出了什么问题或我该如何调试?