Наследование директив proxy_hide_header и proxy_pass_header

Gena Makhomed gmm на csdoc.com
Пн Июл 24 15:42:14 UTC 2023


Здравствуйте, All!

Наследование директив proxy_hide_header и proxy_pass_header
не работает ожидаемым образом, nginx 1.25.1
конфиг:

http {

     proxy_pass_header Content-Disposition;

     server {

         server_name sentry.example.com;

         location / {
             proxy_hide_header Content-Disposition;
             proxy_pass http://172.17.110.100:9000;
         }
     }
}

Директива proxy_hide_header не работает в такой конфигурации,
- заголовок Content-Disposition присутствует в ответе сервера.

Если закомментировать директиву proxy_pass_header
  на уровне http - только после этого начинает нормально
работать директива proxy_hide_header на уровне location.

Это ошибка в коде nginx, что наследование не работает ожидаемым образом,
или это ошибка в документации к nginx, что это явно не оговорено,
или же это ошибка в моем понимании документации nginx?

Задача у меня такая - надо включить заголовок Content-Disposition
для всех сайтов, за исключением одного сайта - sentry self-hosted,
для того чтобы обойти баг, который присутствует в браузере Safari.

Если я что-то делаю неправильно - как правильно решить эту задачу?

Подробнее об этом баге в браузере Safari и о workaround, для него:

https://github.com/getsentry/self-hosted/issues/2285#issuecomment-1647664859

-- 
Best regards,
  Gena


Подробная информация о списке рассылки nginx-ru