Я начинаю сильно расстраиваться, пытаясь решить эту проблему.
У нас есть среда AWS, которая использует SSL-сертификаты на балансировщике нагрузки. У нас также есть правило перезаписи в httpd.conf, которое перенаправляет весь трафик порта 80 на 443. Эта среда отлично работает с текущими серверами, она перенаправляет на 443, как и ожидалось, и проверка работоспособности ELB ping работает, как и ожидалось.
Проблема в том, что мы потеряли документацию по сборке сервера и должны ее воссоздать. При попытке настроить новую службу httpd на новом экземпляре amazon linux мы не можем заставить существующий ELB увидеть экземпляр как доступный - проверка работоспособности ELB не работает (это работает с существующим экземпляром).
Проверка работоспособности настраивается следующим образом:
HTTPS:443/proxy/login.php
(это не изменилось и работает с существующим экземпляром)
Прослушиватель ELB настроен следующим образом:
Порт 80 -> Порт 80
Порт 443 -> Порт 80 (с зарегистрированным сертификатом
У нас также есть следующие правила в httpd.conf рабочего сервера:
<VirtualHost *:80>
RequestHeader set X-Forwarded-Proto "http"
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} !^test. [NC]
RewriteCond %{HTTP_HOST} !^signup. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
Я добавил правило на новый сервер, но безуспешно. Я даже скопировал httpd.conf с рабочего сервера на новый сервер, но все равно безуспешно. Чего еще мне не хватает на новом сервере? Есть ли еще файлы конфигурации, о которых мне нужно беспокоиться?
решение1
Спасибо за все вклады. Я решил эту проблему, добавив условие в раздел virtualhost, которое исключает перенаправление на 443 для:
RewriteCond %{REQUEST_URI} !^/proxy/login\.php$