我目前正在优化 Dockerized Nginx 1.13 服务器并尝试将 etag 添加到图像的标题中。
我的设置如下:
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
add_header 'Cache-Control' 'must-revalidate';
expires 1y;
etag on;
gzip off;
access_log off;
}
这是服务器的响应:
$ curl -I 127.0.0.1/example.png
HTTP/1.1 200 OK
Content-Type: image/png
Last-Modified: Wed, 12 Jul 2017 11:21:45 GMT
Expires: Thu, 12 Jul 2018 22:32:58 GMT
Cache-Control: max-age=31536000, must-revalidate
X-Cache-ESI: No
Content-Length: 10413
Accept-Ranges: bytes
Date: Wed, 12 Jul 2017 22:32:58 GMT
Connection: keep-alive
X-Cache-Status: MISS
所以关键问题是:为什么会etag
丢失?它应该在那里。