Перенаправление SSL на экземпляр EC2 за балансировщиком нагрузки завершения SSL


11

Я пытаюсь перенаправить все URL-адреса на https в веб-приложении.

У меня есть экземпляр ec2 за эластичным балансировщиком нагрузки. SSL прекращается на балансировщике нагрузки.

Любые попытки перенаправления в конечном итоге дают мне знакомое «эта страница запрашивает таким образом, который никогда не завершится».

Балансировщик нагрузки перенаправляет 443 и 80 в порт 80 экземпляра.

Это то, что у меня есть в моем .htaccess.

RewriteCond %{X-FORWARDED-PROTO} !=on  
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

У кого-нибудь есть идеи, как этого добиться? Доброе спасибо,

Ответы:


17

не проверено .. но я пытаюсь это

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#x-forwarded-proto


1
Да! Огромное спасибо. Некоторое время боролся с этим. Очень признателен. Пожалуйста, подтвердите, что это ответ, если вы найдете эту помощь. Спасибо ...
Рикс

ссылка не работает
Билл Росмус

Решение все еще работает. Некоторое объяснение можно найти здесь: docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…
Тим

Работал на меня. Проверено сегодня
Бен Синклер,

0

Ответ Майка в основном правильный, но важно указать, что балансировщику нагрузки все равно нужно будет выполнить свою проверку работоспособности, чтобы убедиться, что экземпляр ec2 все еще жив и исправен. Это можно сделать с помощью дополнительногоRewriteCond

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/alive\.html$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

... где alive.htmlимя вашего файла проверки здоровья.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.