Существующие решения мне не помогли, поэтому мне, должно быть, не хватает чего-то еще.
Итак, я пытаюсь настроить веб-сайт с 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 = постоянный]
где 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
Любая помощь приветствуется.
Таким образом, решение заключается в использовании балансировщика нагрузки приложений вместо балансировщика сетевой нагрузки.