Nginx 反向代理:未设置过期标头

Nginx 反向代理:未设置过期标头

我将静态资产配置为

 location @upstream {
   proxy_pass http://localhost:82;

    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
 }

 location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
     try_files $uri @upstream;
     access_log off;
     expires max;
     add_header Cache-Control public;
 }

未遵守最大有效期。
我认为它遵守传入的服务器标头。

如何修改它来设置过期标头?

答案1

Nginx 只会应用一个位置,绝不会应用更多。在您的示例中,它将对现有静态文件应用 expires 标头,但任何未找到且因此来自 @upstream 位置的文件将忽略来自静态位置的 access_log、expires 和 add_header 指令。

如果你想设置过期时间,你应该在两个位置复制该指令。设置proxy_hide_header可能还需要。

相关内容