我正在设置反向代理缓存。在 nginx.conf 中,我添加了以下内容:
location /blog {
# Reverse Proxy
# Cache the Blog Pages from Heroku
proxy_cache STATIC;
proxy_cache_valid 200 10m;
proxy_cache_valid 404 1m;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
rewrite ^/blog$ /;
rewrite ^/blog/(.*)$ /$1;
proxy_pass http://whispering-retreat-1.herokuapp.com;
break;
}
但是当我尝试重新启动 nginx 时收到以下错误:
$ /opt/nginx/sbin/nginx -s stop
nginx: [emerg] "proxy_cache" zone "STATIC" is unknown in /opt/nginx/conf/nginx.conf:182
你知道使用 STATIC 有什么问题吗?我只想缓存博客页面,这样它就不会每次都访问 heroku,因为速度太慢了。
谢谢
答案1
“proxy_cache”区域“STATIC”未知
意味着你忘记配置它了。 http://nginx.org/r/proxy_cache_path
答案2
正如上面的答案所暗示的,您缺少该proxy_cache_path
指令。
你的情况proxy_cache_path
可以是:
proxy_cache_path /var/cache/nginx keys_zone=STATIC:10m;
您可以找到更多信息Nginx 文档。