Algumas vezes se faz necessário que nosso site seja exclusivamente acesso via HTTPS, com isso, quando acesso nosso site via HTTP normalmente, ele não irá mostrar o conteúdo esperado. Alguns clientes podem reclamar da indisponibilidade do site, ou ainda o não funcionamento correto do mesmo, pois ele (cliente), não consegue acessar o conteúdo do site.
Você poderá indicar e explicar para todos seus clientes que ele além de usar HTTP, terá que usar HTTPS, e o porquê disso, ou simplesmente criar um redirecionamento automático para HTTPS, que é o que irei mostrar agora.
Assim como temos uma VIRTUALHOST para SSL, temos um VIRTUALHOST não SSL, ou seja, acessado pela porta 80. Os dois, mesmo tendo o mesmo nome, podem ser sites distintos, ou terem conteúdo distinto, o que se explica facilmente em uma INTRANET e INTERNET, seu site dentro da empresa possuí um conteúdo e fora outro.
Entrando no arquivo de configuração:
http-vhost.conf
Todas as configurações são padrões, não vou entrar em detalhes pois não é o nosos foco nesse momento VHOSTS. Procure pela entrada do "Virtual Host" referente ao seu site, ou crie uma nos moldes passados abaixo:
(...)
<VirtualHost IPDOSEUSITE:80>
ServerAdmin suporte@bruno.com.br - E-mail para administração
DocumentRoot "/srv/www/htdocs/ws" - Diretório onde se encontra seu site, ou apenas um diretório vazio para configuração, caso não exista, criar.
ServerName seusite.com.br - nome pelo qual seu IP responde
Colocar linha abaixo em destaque por favor:
RedirectPermanent / https://seusite.com.br - Linha que redireciona seu site HTTP para seu site HTTPS
ErrorLog "logs/seu_site_error_log" - Log de erro
CustomLog "logs/seu_site_log" common - Log de acesso
</VirtualHost>
(...)
Você pode adicionar as linhas acima em qualquer lugar do seu arquivo de configuração, ou apenas editar uma que já exista.
Pronto, salve e reinicie o seu Apache, quando você acessar
http://www.seusite.com.br, ele irá automaticamente redirecionar para
httpS://www.seusite.com.br.