Force SSL não funciona com Joomla ou htaccess

2

Temos vários sites no Joomla. A seguir estão os detalhes.

  • Hospedado no domínio mydomain.co.in, sub.mydomain.co.in.
  • Instância do Amazon EC2, atrás do balanceador de carga.
  • Compramos o certificado SSL WildCard para * .mydomain.co.in e o configuramos no balanceador de carga.

Eu configurei a variável Live Site da configuração do Joomla para o link . Quando eu navego no site com o link ou link , Funciona bem. Mas eu gostaria de forçar todos os pedidos para https: //.

Eu tentei conseguir isso por

  • Definindo a variável SSL forçada para o site inteiro na configuração do Joomla.
  • Adicionando o seguinte código em .htaccess

RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Mas nada funciona, quando eu faço um desses dois navegadores diz Esta página tem um loop de redirecionamento . Eu cavei um pouco mais para ver se o redirecionamento está acontecendo de qualquer outro lugar como.

  • Configuração do host virtual no httpd.conf
  • Qualquer plug-in de redirecionamento do Joomla.

Mas não existe código / plug-in que esteja causando o loop de redirecionamento.

Alguém pode ajudar?

Obrigado antecipadamente.

    
por Amol Chakane 01.01.2015 / 07:19

1 resposta

2

Você está verificando a variável errada em sua condição de reescrita.

Como você está usando o Amazon Elastic Load Balancer para encerrar suas sessões SSL, o Apache em sua instância não sabe que eles vieram via HTTPS e não define HTTPS.

O ELB define o cabeçalho Proto X-Forwarded como http ou https dependendo de como a solicitação foi recebida. Você pode verificar este cabeçalho, para efetuar o redirecionamento.

RewriteEngine on 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    
por 01.01.2015 / 14:23