Директива 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; }