【问题标题】:nginx error - "proxy_cache_path" directive is not allowed herenginx 错误 - 此处不允许使用“proxy_cache_path”指令
【发布时间】:2019-03-16 21:52:15
【问题描述】:

当我尝试在 CentOs 7.5 上启动 nginx 时,我的 nginx.conf 在启用站点时收到以下错误。

[root@centos-linux sites-enabled]# nginx -s reload nginx: [emerg] 此处不允许使用“proxy_cache_path”指令 /etc/nginx/sites-enabled/ckan_default:1

proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache:30m max_size=250m;
proxy_temp_path /tmp/nginx_proxy 1 2;

server {
    client_max_body_size 100M;
    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_cache cache;
        proxy_cache_bypass $cookie_auth_tkt;
        proxy_no_cache $cookie_auth_tkt;
        proxy_cache_valid 30m;
        proxy_cache_key $host$scheme$proxy_host$request_uri;
        # In emergency comment out line to force caching
        # proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
    }

}

不确定它在抱怨什么,因为这适用于 ubuntu 设置。

有人有想法吗?

【问题讨论】:

  • 某些东西必须与 Ubuntu 设置不同,proxy_cache_path 只允许在任何平台上的 http 上下文中使用。您如图所示配置不完整。你能分享更多的配置吗?

标签: nginx


【解决方案1】:

我解决了,看来我必须将整个模板封装在 http {} 中:

http {
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache:30m max_size=250m;
proxy_temp_path /tmp/nginx_proxy 1 2;

server {
    client_max_body_size 100M;
    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_cache cache;
        proxy_cache_bypass $cookie_auth_tkt;
        proxy_no_cache $cookie_auth_tkt;
        proxy_cache_valid 30m;
        proxy_cache_key $host$scheme$proxy_host$request_uri;
        # In emergency comment out line to force caching
        # proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
    }

  }
}

【讨论】:

  • 您应该将此标记为已接受的答案
猜你喜欢
  • 2014-10-08
  • 1970-01-01
  • 2015-06-29
  • 2015-01-08
  • 1970-01-01
  • 2017-11-10
  • 2013-12-21
  • 2020-10-03
  • 2013-04-15
相关资源
最近更新 更多