我正在使用在Ubuntu 12.04.4上运行的nginx 1.4.4。
nginx 反向代理一组Rails应用程序服务器。
直接提供静态文件(主要是资产),而不会影响应用程序服务器。
我已将其设置为gzip响应并在可用时使用预压缩文件。
http {
gzip on;
gzip_http_version 1.0;
gzip_proxied any;
# other ngx_http_gzip_module directives...
server {
# proxy configuration
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
# root is inherited
try_files $uri =404;
error_page 404 /404.html;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这有效。
我已经使用真实的预压缩资产和具有相同名称但内容不同的虚拟非压缩资产对其进行了测试:
/assets/application-a45d6...e2593.css # dummy content
/assets/application-a45d6...e2593.css.gz # real CSS
Run Code Online (Sandbox Code Playgroud)
我可以看到这种切换,gzip_static on并off会导致 nginx 正确提供文件的预期版本。 …