2014-09-07 5 views
0

DNginx не загружается CSS в определенном месте

Я хочу использовать кэш для файла CSS на моем сайте, я имею такую ​​конфигурацию:

server { 

    root /webapps/sitoweb; 
    listen 443; 
    ssl on; 
    ssl_certificate /etc/nginx/ssl/bundle.crt; 
    ssl_certificate_key /etc/nginx/ssl/privateKey.key; 
    ssl_ciphers HIGH:!aNULL:!MD5:!DSS:!RC4; 
    ssl_prefer_server_ciphers on; 
    ssl_session_cache shared:SSL:10m; 
    ssl_session_timeout 10m; 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    server_name mysite.com; 
    access_log of; 

    location /django/ { 
     proxy_pass http://127.0.0.1:8001; 
     proxy_set_header X-Forwarded-Host $server_name; 
     proxy_set_header X-Real-IP $remote_addr; 
     add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"'; 
     add_header 'Access-Control-Allow-Origin' '*'; 
     add_header 'Access-Control-Allow-Headers' 'Content-Type,Accept'; 
     add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; 
    } 

} 

Сейчас ситуация (без использования Cache):

Файл в www.mysite.com/homeCSS.css Найдено

Файл в www.mysite.com/django/djangoCSS.css Найдено

Я модифицируют Nging добавив следующее:

location ~* \.(css|js|gif|jpe?g|png)$ { 
     expires 168h; 
     add_header Pragma public; 
     add_header Cache-Control "public, must-revalidate, proxy-revalidate"; 
    } 

Сейчас ситуация (использование кэша):

Файл в www.mysite.com/homeCSS.css Найдено

Файл в www.mysite.com/django/djangoCSS.css НЕ Найдено

Почему CSS в объявленном месте (местоположение «django» в этом случае) НЕ foud?

ответ

0

Это место не найдено, поскольку регулярное выражение предпочтительнее стандартных совпадений. Это означает, что вы превратили .css в локальный запрос вместо прокси-запроса, и поэтому он будет искать этот файл CSS в настроенном корне. Решение состоит в том, чтобы повторить этот блок ниже расположения Django и вместо этого использовать proxy_set_header и эквиваленты для истечения срока действия. Но, вероятно, лучше иметь backend вместо правильных заголовков.

+0

Он работает, объявляя блок CSS только в местоположение Django. – ddtnero

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