Caching 在我使用location声明静态文件后,Nginx无法加载它们
我已经配置了Nginx,如您所见:Caching 在我使用location声明静态文件后,Nginx无法加载它们,caching,nginx,gzip,system-administration,server-administration,Caching,Nginx,Gzip,System Administration,Server Administration,我已经配置了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 {
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。
我不明白原因 Nginx
location
s独占,因此您的别名inslide root位置不适用于另一个位置。还有一点误用,只需在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";
}
}
这很有效,但我还有一个问题。我在同一个服务器声明中添加了另一个类似的位置:location/django/{proxy\u passhttp://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=“所有DSP COR PSAa PSDa我们的NOR ONL UNI COM NAV”“;add_header”Access Control Allow Origin“*”;add_header“Access Control Allow Headers”Content Type,Accept“;}
现在,除了位于/django/like www.mysite.com/django/myfile.css中的css之外,我的网站中的所有css都已加载