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

nginx удалить заголовок из восходящего потока

У меня есть nginx с апстримом.

Верхний поток устанавливает заголовки:

Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache

Поскольку я хочу, чтобы эта страница была кеширована, в nginx у меня есть следующий conf:

    location ~* ^.+\.(html)$ {
            proxy_pass      http://websitefarm.php73;

            add_header      Pragma          "";
            add_header      x-pragma        "OK";
            expires         1d;
    }

он успешно удаляет Expires и Cache-Control, но Pragma остается.

обратите внимание, что мой тестовый заголовок "x-pragma" установлен. так что конф "работает" определенно

expires: Sat, 25 Jul 2020 12:13:04 GMT
cache-control: max-age=86400
pragma: no-cache
x-pragma: OK

если я попробую установить "Pragma" на что-нибудь другое, это сработает, но "" не сработает.

Это проблема конфигурации PHP. Вы установили session.cache_limiter к nocache, либо оставив значение по умолчанию, либо явно задав его в коде, либо и то, и другое.

Если интересующие страницы действительно кешируются и не предназначены для авторизованных пользователей, вам необходимо поговорить с разработчиком приложения о ненадлежащем использовании сеансов.

Похоже, это можно удалить только с помощью proxy_hide_header директива

Следующая конфигурация работает:

    location ~* ^.+\.(html)$ {
            proxy_pass              http://websitefarm.php73;
            proxy_hide_header       Pragma;
            expires                 1d;
    }