0

我已經配置了Nginx的,你可以看到他們宣佈:Nginx的加載失敗的靜態文件後,我使用的位置

server { 

    listen 443 ssl; 
    ssl on; 
    ssl_certificate /etc/nginx/ssl/bundle.crt; 
    ssl_certificate_key /etc/nginx/ssl/privateKey.key; 

    location /webmin/ { 
      proxy_pass http://127.0.0.1:10000; 
    } 

server { 

    listen 80; 
    listen 443 ssl; 
    ssl_certificate /etc/nginx/ssl/bundle.crt; 
    ssl_certificate_key /etc/nginx/ssl/privateKey.key; 
    server_name localjob.it; 
    access_log off; 

    location/{ 
      alias /webapps/sitoweb/; 
    } 

現在,如果我去mysite.com在頁面加載與CSS,但如果我添加:

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

現在,如果我去mysite.com頁面無法加載CSS。 我不明白原因!

回答

1

Nginx location s獨佔,因此您的別名inslide根位置不適用於另一個location s。這也有點誤用,只需在server區塊中使用root指令即可。

server { 
    listen 80; 
    listen 443 ssl; 
    ssl_certificate /etc/nginx/ssl/bundle.crt; 
    ssl_certificate_key /etc/nginx/ssl/privateKey.key; 
    server_name localjob.it; 
    access_log off; 

    root /webapps/sitoweb; 

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

它的工作,但我有另一個問題。我已經在同一個服務器聲明中添加了另外一個位置: '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'; }' 現在,我的網站中的所有CSS都被加載,除了位於/ django中的css /像www.mysite.com/django/myfile.css – ddtnero 2014-09-05 12:48:26