Перенаправление HTTPS на AWS ELB

У нас есть веб-серверы под управлением Apache за AWS ELB. Я настроил ELB для приема HTTPS-соединений и отправки запросов по HTTP на веб-серверы. Это прекрасно работает.

Я также перенаправил все запросы к ELB с HTTP на HTTPS, используя HTTP:X-Forwarded-Proto.

Я добавил приведенный ниже раздел виртуального хоста в свой файл httpd.conf и перезапустил Apache. Эта настройка перенаправляет HTTP-запросы на HTTPS, но приземляется на домашнюю страницу Apache вместо ожидаемого сайта.

ServerName www.myexample.com
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule !/index.html https://%{SERVER_NAME}/%{REQUEST_URI} [R=301,L]

Конфигурация кажется простой и понятной, но не работает.

Пожалуйста, дайте мне знать, что не так в приведенной выше настройке и почему она попадает на домашнюю страницу Apache.


person user2412944    schedule 28.10.2015    source источник
comment
А без / перед %{REQUEST_URI}?   -  person Croises    schedule 28.10.2015
comment
На всякий случай я бы сделал RewriteCond %{HTTP:X-Forwarded-Proto} ^http$   -  person Ray    schedule 28.10.2015
comment
А у вас определен корень документа? Недостаточно вашего файла conf. Вам нужен DocumentRoot "/path/to/yoursite.com" для вашего виртуального хоста.   -  person Panama Jack    schedule 28.10.2015


Ответы (1)


Вы должны избежать . в своем правиле перезаписи. Измените свой Rewrite на:

RewriteRule "!/index\.html" https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Также, как и в комментарии к вашему OP, удалите косую черту между %{HTTP_HOST}%{REQUEST_URI}

person Ray    schedule 28.10.2015
comment
Я изменил конфигурацию на указанную выше и перезапустил Apache, но все равно он перенаправляет на домашнюю страницу Apache. Корень документа устанавливается как DocumentRoot /var/www/html - person user2412944; 28.10.2015
comment
Вы используете HTTP_HOST, а не SERVER_NAME? - person Ray; 28.10.2015
comment
просто для ухмылки сделайте редирект на RewriteRule "!/index\.html" http://www.google.com [R=301,L] . Это просто для того, чтобы ограничить проблему второй половиной правила перезаписи. - person Ray; 28.10.2015