Цикл перенаправления Apache при перезаписи HTTP на HTTPS за AWS Network Load Balancer
Существующие решения не помогли мне, поэтому я, должно быть, упускаю что-то еще.
Поэтому я пытаюсь настроить веб-сайт с Apache 2.4/CentOS 7 за балансировщиком сетевой нагрузки AWS.
Я использую это в httpd.conf, чтобы переписать HTTP->HTTPS, что также считается правильным способом достижения HTTPS только за балансировщиком нагрузки AWS.
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://%{SERVER_NAME}/$1 [L,R=permanent]
где SERVER_NAME
DNS-имя моего сервера, которое преобразуется в IP-адрес балансировщика нагрузки.
https://%{HTTP:Host}/
судили также неудачно.
Без этого доступ к серверу возможен без проблем (за исключением того, что, конечно, можно использовать HTTP).
Поскольку балансировщик нагрузки является конечной точкой шифрования для клиента, я слушаю только порт 80 на веб-сервере. Это намеченный способ реализации AWS.
Однако, используя это, сервер будет бесконечно перенаправлять мой запрос, пока браузер не сдастся. И это также происходит при попытке подключиться с HTTPS изначально.
Выходные данные журнала уровня отладки Apache не показывают никаких ошибок, за исключением того, что запрос истекает, а журналы балансировки нагрузки также не очень полезны. Но, может быть, вы можете понять это.
Я также думал о том, что SELinux вызывает проблемы, но он настроен на вседозволенность. Так что на самом деле ничего не должно делать.
Apache access_log: https://textuploader.com/10cjh
Apache error_log: https://textuploader.com/10cjx
Балансировщик нагрузки: https://textuploader.com/10cjg
Любая помощь высоко ценится.
1 ответ
Поэтому решение состоит в том, чтобы использовать балансировщик нагрузки приложения вместо балансировщика нагрузки сети.