proxy_ignore_headers игнорирование заголовков

Директива proxy_ignore_headers в Nginx используется для указания серверу игнорировать определенные заголовки, получаемые от проксируемого сервера. Если вы хотите скрыть заголовки от вышестоящих серверов, вам нужно использовать proxy_hide_header.

Это может быть полезно в различных ситуациях, например:

1. Игнорирование заголовков управления кешированием: Если вы не хотите, чтобы Nginx кешировал содержимое на основе заголовков, таких как `Expires` или `Cache-Control`, полученных от проксируемого сервера, вы можете использовать `proxy_ignore_headers` для игнорирования этих заголовков.

2. Игнорирование заголовков управления сессией: В некоторых случаях может потребоваться игнорировать заголовки, связанные с управлением сессией, такие как `Set-Cookie`, особенно если вы используете Nginx в качестве балансировщика нагрузки или кэширующего прокси.

3. Работа с нестандартными заголовками: Если проксируемый сервер отправляет нестандартные заголовки, которые могут вызывать нежелательное поведение в Nginx или на клиентской стороне, вы можете использовать `proxy_ignore_headers` для их игнорирования.

Важно помнить, что использование этой директивы должно быть обоснованным, так как игнорирование определенных заголовков может иметь последствия для работы приложения, кеширования, безопасности и производительности.

Пример использования, скрываем все хедеры X-Frame-Options, которые присылает бэкенд и подставляем свой:

location /api {
    proxy_hide_header X-Frame-Options;
    add_header X-Frame-Options "" always;

Пример использования, скрываем все хедеры Cache-Control, которые присылает бэкенд и подставляем свой:

location / {
    access_log off;
    add_header Cache-Control "public";
    proxy_pass http://10.10.10.2;
    proxy_hide_header Cache-Control;
    expires 60M;
}