Цикл перенаправления 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 ответ

Решение

Поэтому решение состоит в том, чтобы использовать балансировщик нагрузки приложения вместо балансировщика нагрузки сети.

Другие вопросы по тегам