我正在尝试使用 NginX 作为一些 IIS 服务器的反向代理。目标是让 NginX 从 IIS / Apache 服务器缓存静态项目,如 CSS / JS / 图像。我还试图让 NginX 使用其 perl 模块自动缩小 js / css 文件。
我在这里找到了一个用于缩小的示例脚本:
http://petermolnar.eu/linux-tech-coding/nginx-perl-minify-css-js/
使用脚本一切正常,除了反向代理中断。
问题:
- 我正在努力完成的事情是否可能?我希望 NginX 在将它们保存到缓存之前先缩小脚本。
- nginX 可以自动设置正确的过期标头,以便尽可能长时间缓存静态项目,并且仅在更改查询字符串时替换(jquery.js?timestamp=march-2012)
- NginX 可以在发送资源之前将其 GZIP。
- 如果 NGinx 无法连接到后端服务器,它可以转发请求或提供“停机维护页面”。
任何帮助将不胜感激。
到目前为止,这是我的站点启用/默认值。
server {
location / {
proxy_pass http://mywebsite.com;
proxy_set_header Host $host;
proxy_cache STATIC;
proxy_cache_valid 200 1d;
proxy_cache_use_stale error timeout invalid_header updating
http_500 http_502 http_503 http_504;
}
location @minify {
perl Minify::minify_handler;
}
location ~ \.css$ {
try_files $uri.min.css @minify;
}
location /*.js {
expires 30d;
}
}