Как настроить редирект non-www to www через AWS ALB

AWS NLB Logo

Сегодня в нашей программе я расскажу о том, как можно настроить обычный редирект из example.com на www.example.com. Да, в наше время бывает и такое и порой полезно знать как это можно реализовать через обычный ALB.

Если вы пользуетесь AWS и у вас нет возможности настроить это через nginx, varnish, .htaccess, тогда, данная статья для вас.

Для начала вам понадобится обычный Application Load Balancer (ALB) и рабочая таргет группа. К сожалению через Network Load Balancer (NLB) — этого не сделать.

Я предположу, что у вас уже установлен как ALB так и Tagret Group.


Переходим на вкладку Listeners и добавляем листенер для порта 80. Цепляем 301 редирект на 443 порт и добавляем новое правило с условием

IF example.com then redirect to https://www.#{host}:443/#{path}?#{query}

В конце наш листенер вместе с правилом имею следующий вид

AWS ALB Listener 80


Создаем еще одие листенер, но уже для порта 443 Делаем форвард на нашу таргет группу и создаем правило с тем самым редиректом, что и для порта 80

IF example.com then redirect to https://www.#{host}:443/#{path}?#{query}

В конце наш листенер вместе с правилом имею следующий вид

AWS ALB Listener 443

Если смотреть на листенеры с описания лоад балансера, то все выглядеть будет следующим образом

AWS ALB Redirects

Вот собственно и все :)

comments powered by Disqus