Назад | Перейти на главную страницу

Обратный прокси-сервер 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;
 }

Максимальный срок действия не соблюдается.
Я думаю, что это касается заголовка входящего сервера.

Как можно изменить это, чтобы установить срок действия заголовка?

Nginx всегда применяет только одно местоположение, и никогда больше. В вашем примере он применит заголовок expires к существующим статическим файлам, но любые файлы, которые не найдены и, следовательно, поступают из местоположения @upstream, будут игнорировать директивы access_log, expires и add_header из статического местоположения.

Если вы хотите установить срок действия, вам следует продублировать директиву в обоих местах. Настройка proxy_hide_header также может потребоваться.