Назад | Перейти на главную страницу

Nginx: AWS Route 53: ELB: голое перенаправление

Настроить
У меня есть два экземпляра приложения rails, запущенных в Opsworks Layer. Я использую Route 53 и ELB для маршрутизации трафика на свой уровень.

Задача
Чтобы перенаправить трафик с чистого домена на мой домен www. Chicken.com -> www.chicken.com

Что я пробовал
Я изменяю свою конфигурацию nginx (в одном экземпляре), чтобы решить эту проблему. Я добавил следующее:

server {
 listen 80;
 server_name chicken.com;
 return 301 $scheme://www.chicken.com$request_uri;
}
... rest of config here

Результат
Экземпляр больше не поражается по его IP.

ELB пометил экземпляр, который я изменил, как «Не обслуживаемый», так как он больше не может быть доступен по IP (проверка работоспособности не выполняется).

Вопрос
Как я могу перенаправить голые домены на www-домены, не теряя при этом работоспособности ELB?

Вам нужно настроить что-то, что будет возвращать 2xx при проверке работоспособности, в настоящее время 301 заставляет ELB думать, что он не работает, вы можете поставить что-то вроде этого

server {
 listen 80;
 server_name chicken.com;

 location ^~ /health {
   proxy_pass http://my_proxy;
 }

 location / {
   return 301 $scheme://www.chicken.com$request_uri;
 }

}

server {
 listen 80;
 server_name www.chicken.com;

 location / {
   proxy_pass http://my_proxy;
 }
}