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