Apache:Redirecionando de HTTP para HTTPS

From Wiki
Revision as of 14:45, 11 March 2015 by Ebasso (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Como faço para redirecionar de HTTP para HTTPS no Apache?

A resposta é utilizar o mod_rewrite. Veja como:

Usando o mod_rewrite

Vá para o diretório /opt/IBM/HTTPServer/conf

> cd /opt/IBM/HTTPServer/conf

Edite o arquivo httpd.conf

Remova o comentário da linha

LoadModule rewrite_module modules/mod_rewrite.so

Vá para o final do arquivo e adicione como abaixo

 RewriteEngine On
 RewriteCond %{HTTPS} off
 RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
 

Salve e feche o arquivo

Reinicie o http server

> /opt/IBM/HTTPServer/bin/apachectl restart

Exemplos

Debugando as requisições

Vamos debugar os redirecionamentos, jogando os logs para /var/log/apache2/rewrite.log .


RewriteEngine On
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 3
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}


Redirecionando todas as urls para https com excessão de um subdiretório

Vamos redirecionar todas as urls para https, com excessão de um subdiretório

 RewriteEngine On
 RewriteCond %{REQUEST_URI} !/subdiretorio
 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
 

Ver também