Пользовательский заголовок X-Forward-Proto

Я использую AWS ALB, и мои настройки следующие:

ALB] - HTTPS-- [NGINX] - HTTP - [ALB] - HTTP - [APP / NGINX]

проблема в том, что я использую NGINX для перенаправления X-Forwarded-Proto = https в приложение через ALB, но ALB сокращает его, приложению требуется X-Forwarded-Proto = https, чтобы оно могло выдавать безопасные файлы cookie и устанавливать заголовок STS. Мы пробовали установить этот заголовок в NGINX, но похоже, что APP ALB убирает его. и согласно поддержке AWS это сделано намеренно.

существует обходной путь для использования настраиваемого заголовка, чтобы сохранить значение X-Forwarded-Proto из первого ALB и отправить его во второй ALB, и это не исчезнет, ​​когда оно достигнет приложения, может ли кто-нибудь посоветовать о том, как реализовать это в NGINX, или предложить другой способ решения этой проблемы

0
задан 9 January 2018 в 15:53
1 ответ

Из этой ссылки на форуме они сказали, что Application Load Balancer передаст X-Forwarded-For / Proto / Port https://forums.aws.amazon.com/thread.jspa?messageID=738145 .

Если в вашем случае заголовок X-Forwarded-Proto всегда получает значение HTTP. Тогда это означает, что AWS ALB не удаляет заголовок X-Forwarded-Proto, а вместо этого заменяет его. Если верно, что AWS ALB заменяет X-Forwarded-Proto, вы можете использовать собственный HTTP-заголовок для передачи заголовка в первом экземпляре nginx. Как этот

Location /{
    proxy_pass http://upstream;
    proxy_set_header X-Custom-Forwarded-Proto $http_x_forwarded_proto;
}

Надеюсь, это поможет. Спасибо

0
ответ дан 5 December 2019 в 06:52

Теги

Похожие вопросы