Nginx 在设置缓存配置后无法加载静态文件

Nginx 在设置缓存配置后无法加载静态文件

我正在尝试利用浏览器缓存来实现 nginx。但是当我将代码插入 conf 文件中时,nginx 不提供静态文件,并显示 403 权限被拒绝错误。

这是我的配置文件

server {

   listen  80;
   server_name site.in;
   root /root/site-demo/;
   access_log /var/log/site/access_log;
   error_log /var/log/site/error_log;

   location static/ {
      alias /root/site-demo/static/;
   }

   location / {
      proxy_pass         http://127.0.0.1:4000/;
      proxy_redirect     http://127.0.0.1:4000 http://site.in;
      proxy_set_header   Host             $host;
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header   X-Forwarded-Proto $scheme;
   }
   location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
      expires 30d;
      add_header Pragma public;
      add_header Cache-Control "public";
   }
}

当我删除缓存过期部分时,一切都正常。如何使用 if 条件将过期部分放入 location static 中?

相关内容