Usando o htaccess com o Elastic Load Balancer e o Route 53 [closed]

1

Transferi meu DNS para o Route 53 e atualmente uso um registro de alias para apontar meu www.domain.com e domain.com para meu Elastic Load Balancer.

Ambos funcionam muito bem, mas meu problema é quando tento usar um arquivo htaccess para redirecionar o não-www para o www. Ele apenas falha a pesquisa de DNS e erros quando eu visito domain.com e sou redirecionado para www.domain.com, indo direto para www.domain.com ainda funciona.

Antes de fazer tudo com o balanceador de carga e quando eu estava testando a instância, eu acessava o DNS público do meu domínio 'ec2-99-99-999-99.compute-1.amazonaws.com' para exemplo e sempre que eu colocar o arquivo htaccess, ele iria pular para 'www.ec2-99-99-999-99.compute-1.amazonaws.com' e produzir um erro.

Qualquer ajuda seria muito apreciada enquanto eu estou arrancando meu cabelo por causa disso.

    
por user1011713 18.03.2013 / 22:50

1 resposta

1

Sem ver seu arquivo .htaccess, não está totalmente claro o que está acontecendo, mas algo assim deve funcionar se você tiver o mod_rewrite ativado:

RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^/?(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Editar:

Se você está vendo um erro 502 do ELB, provavelmente é porque seu aplicativo não está retornando um cabeçalho de resposta completo e apenas retornando um código de resposta HTTP. Houve uma discussão sobre isso nos fóruns do EC2 dev: link

Você pode solucionar esse problema monitorando o tráfego da rede no servidor para determinar quais cabeçalhos e códigos de resposta estão sendo enviados de volta para o ELB. Você provavelmente deve fazer isso quando falhar (no celular) e for bem-sucedido (no seu PC).

Assumindo que seu servidor está executando o linux, o ngrep é uma ferramenta simples e interessante para isso:

# Just show HTTP traffic
ngrep -q '' port 80

# Just show GET and POST requests
ngrep -t '^(GET|POST) 'port 80'

Caso contrário, você pode usar o Wireshark, que funciona bem no Windows.

    
por 18.03.2013 / 23:57