Это ожидаемое поведение, и, скорее всего, по замыслу - если ALB прошел сквозное X-Forwarded-Proto
, его можно было бы подделать, и у него не было никакой возможности разрешать исключения ... поэтому он всегда перезаписывается.
Вместо этого вы можете использовать балансировщик сетевой нагрузки для внутреннего использования.Поскольку они выполняются на уровне 4, они не манипулируют заголовками.
Или, если внешний балансировщик является ALB, вы можете создать там правило для перенаправления всех HTTP-запросов в HTTPS в пределахбалансировщик.
С помощью действий перенаправления балансировщик нагрузки может перенаправлять входящие запросы с одного URL на другой URL.Это включает в себя возможность перенаправлять HTTP-запросы в HTTPS-запросы, что позволяет вам достичь цели соответствия безопасности безопасного просмотра, повысить рейтинг в результатах поиска и высокий рейтинг SSL / TLS для вашего сайта.
https://aws.amazon.com/about-aws/whats-new/2018/07/elastic-load-balancing-announces-support-for-redirects-and-fixed-responses-for-application-load-balancer/
Одна небольшая «ошибка» в перенаправлениях ALB заключается в том, что вы должны явно указать порт назначения как 443, в противном случае балансировщик сохранит исходный порт и запишетперенаправить на https://example.com:80/
, который, конечно, не будет работать.