AWS ALB перенаправить на https - PullRequest
0 голосов
/ 27 апреля 2018

Мои серверы Apache находятся за ALB / ELB. Я прекращаю SSL на балансировщике нагрузки. Балансировщик нагрузки прослушивает как 80, так и 443. Я хочу перенаправить все http-запросы на https.

У меня есть это правило перезаписи в конфигурации vhost:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

Это работает, но проблема в том, что у меня также есть перенаправления в файле htaccess. Когда перенаправление происходит через файл htaccess, он сначала перенаправляет на http, а затем перенаправление конфигурации vhost берет его и перенаправляет на https. Я хочу устранить лишнее перенаправление http.

http://mysite.example.com/sub 301 https://mysite.example.com/sub 301 http://mysite.example.com/newsub - это перенаправление htaccess 301 https://mysite.example.com/newsub 200

Я бы хотел обойтись, если сначала перенаправить htaccess на http. Я могу обойти это, добавив https://%{HTTP:Host}, чтобы переписать правила. Это лучший способ сделать это:

RewriteRule ^sub$ https://%{HTTP:Host}/newsub [R=301,L]

1 Ответ

0 голосов
/ 03 августа 2018

Application Load Balancer теперь поддерживает два новых действия: перенаправление и фиксированный ответ. Вы можете настроить эти действия как часть правил маршрутизации на основе содержимого, что позволит вам перенести эту функцию на балансировщик нагрузки. Это упрощает развертывание при одновременном использовании масштаба, доступности и надежности Elastic Load Balancing.

Вот что я сделал, чтобы он работал на AWS:

Пример конфигурации для перенаправления ALB - HTTP -> HTTPS

https://aws.amazon.com/about-aws/whats-new/2018/07/elastic-load-balancing-announces-support-for-redirects-and-fixed-responses-for-application-load-balancer/

...