带有gzip内容和非gzip内容的nginx反向代理caching

我正在用ngnix + passenger开发rails web服务,并且在nginx中使用了反向代理caching。 它工作得很好,速度非常快。 问题是有些客户端不支持gzip而有些客户端支持。

我发现nginxcachinggzip内容,因此,如果gzip支持的客户端先请求,然后非gzip客户端请求,即使客户端发送头“Accept-Encoding”:服务器仍然返回gzip内容: ”。

gzip on; gzip_http_version 1.0; gzip_vary on; gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/css text/javascript application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss; 

你是否必须通过将request_uri和头部“Accept-Encoding”结合来分别caching它们?

这可能是一个固定的错误。 至less我没有观察到0.8.54的行为。 尝试升级你的nginx,如果它不是最新的。

您应该将$http_accept_encoding添加到caching键 ,或使用gunzip模块 。