2016-01-06 4 views
0

Я просто хочу кэшировать URL моего сайта /. Но когда я прошу URL, получить 403 ошибки (другие URL'ами, Ok) .the журнал ошибок:Nginx 1,8 кэша запрещен 403

2016/01/06 17:25:04 [error] 26263#0: *1 directory index of "/home/app/path/" is forbidden, client: 223.85.143.126, server: domain.com, request: "GET/HTTP/1.1", host: "www.domain.com", referrer: "http://www.domain.com/accounts/" 

Я пытаюсь chmod 777 -R /home/app/path/ или chmod 777 -R /home/app/path/nginx_cache или изменить user nginx; к user root; в nginx.conf, все оленья кожа работа.

данные.

сайты с поддержкой конф:

proxy_cache_path /home/app/path/nginx_cache levels=1:2 keys_zone=my_cache:1m max_size=50m inactive=60m use_temp_path=off; 

server { 
    listen 80; 
    server_name domain.com www.domain.com; 
    index index.html index.htm; 
    root /home/app/path; 
    charset utf-8; 
    client_max_body_size 5M; 
    if ($host !~* ^(domain.com|www.domain.com)$){ 
     return 444; 
    } 
    location /media { 
     alias /home/app/path/media; 
    } 
    location /static { 
     alias /home/app/path/static; 
    } 
    location/{ 
     uwsgi_pass 127.0.0.1:3032; 
     include  /home/app/path/uwsgi_params; 
    } 
    location =/{ 
     proxy_cache my_cache; 
     proxy_cache_valid 15s; 
    } 
} 

nginx.conf:

user nginx; 
worker_processes auto; 

error_log /var/log/nginx/error.log warn; 
pid  /var/run/nginx.pid; 


events { 
    worker_connections 768; 
} 

http { 

    sendfile on; 
    tcp_nopush on; 
    tcp_nodelay on; 
    keepalive_timeout 30; 
    types_hash_max_size 2048; 
    reset_timedout_connection on; 
    client_body_timeout 10; 

    include  /etc/nginx/mime.types; 
    default_type application/octet-stream; 

    log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
         '$status $body_bytes_sent "$http_referer" ' 
         '"$http_user_agent" "$http_x_forwarded_for"'; 

    access_log off; 

    #gzip on; 

    include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*; 
} 

ответ

1

Расположение не наследует правила, поэтому нет UWSGI проход, Nginx пытается отобразить индекс каталогов и не удается. Должно быть что-то вроде этого:

location =/{ 
    uwsgi_pass 127.0.0.1:3032; 
    include  /home/app/path/uwsgi_params; 
    proxy_cache my_cache; 
    proxy_cache_valid 15s; 
} 
+0

Это сработало. Но URL-адрес не кэшируется, как ожидалось. Я добавляю случайное число на странице, и каждый раз, когда я запрашиваю изменения числа даже в 15 секунд. – xiang

Смежные вопросы