soniccool
soniccool

Reputation: 6058

nginx error - "proxy_cache_path" directive is not allowed here

I am getting the following error with my nginx.conf in sites-enabled when i try starting nginx on CentOs 7.5.

[root@centos-linux sites-enabled]# nginx -s reload nginx: [emerg] "proxy_cache_path" directive is not allowed here in /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;
    }

}

Not sure what its complaining about as this works on an ubuntu setup.

Anyone have an idea?

Upvotes: 3

Views: 10919

Answers (1)

soniccool
soniccool

Reputation: 6058

I solved it, looks like i had to encapsulate the entire template in http {} as so:

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;
    }

  }
}

Upvotes: 10

Related Questions