Habilitando o ''HTTPS'' em seu ''site''

From Joomla! Documentation

This page is a translated version of the page Enabling HTTPS on your site and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎português do Brasil • ‎日本語

O que é SSL/TLS?

Transport Layer Security (TLS) é o sucessor do Secure Sockets Layer (SSL) - embora muitas pessoas ainda se refiram a ele como SSL. Você já notou o ícone de cadeado próximo ao URL ao navegar na Internet? Isso significa que todos os dados que você envia para esse site estão sendo enviados criptografados para que qualquer pessoa que possa ter hackeado sua rede (ou similar) e possa interceptar suas solicitações não consiga visualizar nenhum dos dados - eles só poderão ver quais URLs você está acessando.

Por que usar TLS?

O Google (e a maioria dos outros mecanismos de pesquisa) agora trata sites que usam https com preferência[1]. Além disso, muitos navegadores sinalizam qualquer site com um formulário (como de login ou de formulário de contato) que não usa https[2]

Como faço para configurar o TLS?

Para configurar o certificado, a maneira mais simples é pedir ao seu host que faça isso por você.

O certificado correto a ser usado depende das proteções de segurança exigidas no seu site. A opção mais barata e mais fácil é usar "Let's Encrypt" - é gratuito e, dependendo do seu host, pode ser configurado diretamente no painel de hospedagem "cPanel" ou "Plesk".

Se você comprou um IP dedicado e um certificado SSL, peça ajuda ao seu host e ele o assinará e o instalará no local correto para você.

Como faço para redirecionar todo o tráfego para https

No Joomla!

A maneira mais fácil de impor o tráfego https é fazê-lo dentro do Joomla!. Nas "Configurações globais existe a opção Forçar HTTPS que permite forçar HTTPS apenas no Administrador ou para todo o site. Prefira o último.

Image Showing the Force HTTPS option in the Joomla 3.x default backend template

No ".htaccess"

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [QSA,R=301,L]
<IfModule !mod_ssl.c>
Redirect permanent / https://www.yourdomainname.com
</IfModule>

Exemplos de ".htaccess" mais complexos

Para mudar de HTTP para HTTPS em qualquer página que tenha "abc/def" ou "ghi" no URL, adicione algo assim:

Código:

RewriteCond %{HTTPS} off
RewriteRule ^(abc/def|ghi)(.*)/?$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

...e para mudar de HTTPS de volta para HTTP em qualquer página que tenha "home" ou "help" na URL, faça algo assim:

Código:

RewriteCond %{HTTPS} on
RewriteRule ^(home|help)(.*)/?$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

Se você deseja forçar o SSL em uma pasta específica, insira o código abaixo em um arquivo .htaccess colocado nessa pasta específica:

Código:

RewriteEngine On
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R,L]

Certifique-se de alterar a referência da pasta para o nome real da pasta. Em seguida, certifique-se de substituir www.example.com/folder pelo nome de domínio real e pela pasta na qual deseja forçar o SSL.