Com a cada vez maior quantidade de certificados SSL implementados, é recorrente existir a dúvida de como poderá ser forçado o acesso via https a fim de tirar proveito da ligação segura devidamente certificada. Neste artigo mostramos como poderá reencaminhar pedidos http para https através de diversas vias.


Nunca é demais salientar que a alteração de ficheiros, como os que indicamos de seguida deverá ser precedida da realização de um backup / cópia dos mesmos a fim de estes poderem ser restaurados em caso de necessidade.


Através de ficheiro .htaccess (Apache)


Poderá configurar o redirecionamento através da inserção do seguinte código num ficheiro '.htaccess' presente na directoria onde se encontram os conteúdos que serão acedidos através do endereço que pretende reencaminhar.


Para redireccionar todos os pedidos:

RewriteEngine On
 RewriteCond %{HTTPS} off
 RewriteRule ^(.*)$ https://www.oseudominio.com/$1


Se pretender que o reencaminhamento seja de um domínio em particular, deverá colocar:

RewriteEngine On
 RewriteCond %{HTTP_HOST} ^exemplo\.net
 RewriteCond %{HTTPS} off
 RewriteRule ^(.*)$ https://www.oseudominio.com/$1


Se pretender que apenas o acesso aos conteúdos de uma pasta seja forçado para https, então deve utilizar:

RewriteEngine On
 RewriteCond %{HTTPS} off
 RewriteCond %{REQUEST_URI} directoria 
 RewriteRule ^(.*)$ https://www.oseudominio.com/directoria /$1



Através de ficheiro de configuração (nginx)


Para conseguir configurar o redirecionamento de http para https num servidor web nginx, deverá numa primeira fase identificar qual o ficheiro de configuração do domínio que pretende redireccionar. Por norma, o ficheiro de configuração em causa estará numa das seguintes directorias:


/etc/nginx/conf.d/
/etc/nginx/sites-available/


No ficheiro em causa (Ex: o_seu_dominio.conf) deverá inserir ou editar um bloco 'server' mediante o exemplo seguinte:


server {
     listen 443 ssl;
     server_name dominio.com www.dominio.com;
     ....
}
# Redirecionamento para https
server { 
      listen 80; 
      server_name dominio.com www.dominio.com; 
      return 301 https://dominio.com$request_uri;
}

Nesta configuração todos os pedidos aguardados na porta 80, para o domínio em específico, são lidos e alvo de um redirecionamento do tipo 301 (permanente) para o mesmo endereço e respectivos argumentos, mas numa ligação https (porta 443).


Após a realização da configuração em causa deverá executar uma verificação de que a mesma se encontra correctamente definida. Para tal deverá executar o seguinte comando para validação da configuração:


nginx -t


Caso obtenha o 'OK' poderá fazer o reload da configuração do nginx para que a mesma seja carregada, através da execução do comando:


systemctl reload nginx



Através de um ficheiro web.config (IIS)


Num ambiente Windows dispomos do ficheiro web.config para a realização de configurações como a pretendida, neste caso o redireccionamento de um acesso http para https.


No ficheiro web.config presente na directoria principal onde tem os conteúdos referentes ao endereço que pretende reencaminhar, será necessário adicionar apenas o seguinte bocado de código:


<system.webServer>
    <rewrite>
       <rules>
       <rule name="Redireccionamento de HTTP para HTTPS" enabled="true">
     <match url="(.*)" ignoreCase="false"/>
    <conditions>
        <add input="{HTTPS}" pattern="off"/>
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent"/>
       </rule>
       </rules>
    </rewrite>
 </system.webServer>



Através do painel de administração cPanel


No painel de administração cPanel a configuração de um redireccionamento de http para https é bastante simples e intuitiva.


1) No painel de administração cPanel onde tem o endereço que pretende reencaminhar configurado, deverá aceder ao bloco ‘DOMÍNIOS’.


2) Posteriormente clicar na opção ‘Domínios’.


3) Na secção ‘Domínios’ constam todos os domínios (principal, parqueados ou adicionais) configurados na respectiva conta. Há frente de cada um dos domínios tem disponível a opção ‘Forçar redireccionamento HTTPS’. Mediante o pretendido basta activar / desactivar esta opção para o(s) endereço(s) para os quais pretende activar / desactivar o redireccionamento de http para https.


Na prática, ao activar a opção mencionada no ponto 3, o sistema estará automaticamente a inserir conteúdo no ficheiro .htaccess presente na directoria principal onde se encontram os conteúdos acessíveis através do domínio para o qual activou o redireccionamento. Assim e por forma a manter funcional esta configuração, não deverá remover / alterar conteúdo do ficheiro .htaccess, sem ter conhecimento aprofundado sobre as alterações realizadas.



Através do painel de administração Plesk


No painel de administração Plesk, à semelhança de outras acções disponíveis, também a configuração de um redireccionamento de http para https pode ser realizada de forma bastante rápida e simples.


1) Na secção ‘Websites & Domains’ do seu painel de administração Plesk, localize a secção respeitante ao domínio que pretende configurar e seleccione o separador ‘Hosting & DNS’.


2) Clique em ‘Hosting Settings’ para aceder às configurações principais da conta em causa.


3) Active a opção ‘Permanent SEO-safe 301 redirect from HTTP to HTTPS’ e garanta que já tem activa também a opção ‘SSL / TLS Support’ e que tem um certificado SSL seleccionado no menu ‘drop down’ disponível.