Nginx: AWS Route 53: ELB: redirecionamento nú

1

Configuração
Eu tenho duas instâncias de aplicativos rails em execução no Opsworks Layer. Eu estou usando o Route 53 e um ELB para direcionar o tráfego para minha camada.

Objetivo
Para redirecionar o tráfego de domínios nus para o meu domínio www. chicken.com - > www.chicken.com

O que eu tentei
Eu altero meu conf nginx (em uma instância) para resolver esse problema. Eu adicionei o seguinte:

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

Resultado
A instância não é mais utilizável pelo seu IP.

O ELB marcou a instância que eu alterara como "Fora de serviço", pois não podia mais ser acessada pelo IP (a verificação de integridade falha).

Pergunta
Como posso encaminhar domínios nus para domínios www e manter minhas verificações de integridade do ELB felizes?

    
por mconlin 06.01.2015 / 04:28

1 resposta

1

Você precisa configurar algo que retornará 2xx na verificação de saúde, atualmente o 301 está fazendo o ELB pensar que ele está fora de serviço, você poderia colocar algo assim

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;
 }
}
    
por 06.01.2015 / 05:25