当我意识到我必须设置gzip off;
以便能够使用php设置ETag标头时,我正在使用Nginx1.4.6。
看完this post后
我使用厨师升级到Nginx 1.10.1。我使用
apt_repository 'nginx-php' do
uri 'ppa:nginx/stable'
distribution node['lsb']['codename']
end
然后用:
升级nginxpackage 'nginx' do
action :upgrade
end
但是一切似乎与旧的nginx版本相同
只有我明确设置gzip off;
我才能设置ETag标头。
此外,我没有在我的nginx.conf文件中看到etag on;
指令,并且手动设置它没有任何效果。
可能我需要再次vagrant destroy
和vagrant provision
- 但我想我在这里遗漏了一些东西。
更新
在再次销毁机器并删除.vagrant
文件夹后,我现在正在使用它。但如果那就是问题,我就不会感到害羞。
现在我可以设置ETag标头,并且Request包含If-None-Match
标头。但我的Etags被转换为弱Etags,nginx在哈希之前预先设置W/
。这是默认行为吗?我怎样才能设置强大的Etags?
更新
好吧,因为gzip; etag很弱......有没有办法在启用gzip的情况下设置强大的etag?
答案 0 :(得分:1)
回答我自己的问题。
使用
时设置了强大的Etag(使用php) ob_start('ob_gzhandler')
。