Como usar o Apache para redirecionar todo o tráfego de HTTP para HTTPS

Como usar o Apache para redirecionar todo o tráfego de HTTP para HTTPS

Se o seu site usa Apache e SSL, não há muita razão para continuar usando o HTTP com seu site. Ter http e https apenas cria conteúdo duplicado, pois agora qualquer página será acessível através de dois URLs tecnicamente diferentes.

Neste guia, assumiremos que você já está usando o Apache em um sistema Linux e queremos redirecionar todo o tráfego HTTP para HTTPS. Isso garantirá que todos os seus visitantes estejam se conectando apenas através do HTTPS, forçando o navegador ao protocolo seguro se eles abrirem um link HTTP. Se um usuário decide prefácio de um link com http: //, Seu site será inteligente o suficiente para ainda enviá -los para a página correta, em vez de mostrar conteúdo duplicado ou exibir um erro 404.

Existem duas maneiras de configurar este redirecionamento no Apache. O melhor método é configurar o host virtual, mas os usuários com sites hospedados podem não ter acesso a essa configuração. O segundo método é fazendo algumas alterações no .htaccess arquivo. Abordaremos as instruções passo a passo para os dois métodos abaixo. Vamos começar.

Neste tutorial, você aprenderá:

  • Como redirecionar http para https com host virtual
  • Como redirecionar http para https com .htaccess arquivo
Redirecionar o tráfego HTTP para HTTPS em Apache Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Qualquer distro Linux
Programas Apache
Outro Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando.
Convenções # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Redirecionar http para https com host virtual

No Ubuntu, Debian e seus derivados, você encontrará os arquivos de host virtual em /etc/Apache2/sites-Audência. Abra o arquivo apropriado em um editor de texto de sua escolha:

$ sudo vi/etc/apache2/sites-disponível/exemplo.conf 


Em Redhat, Centos, Fedora e outros derivados, você encontrará a configuração dos hosts virtuais em:

$ sudo vi/etc/httpd/conf.d 

Este arquivo pode ser usado para redirecionar o tráfego, entre muitas outras coisas. Se você já está usando o HTTP e o HTTPS em seu site, você deve ter pelo menos dois hosts virtuais no arquivo - um para 80 (HTTP) e um para 443 (https). Para redirecionar o tráfego HTTP, precisaremos adicionar a seguinte linha:

Redirecionar permanente/https: // Exemplo.coma 

Adicione em algum lugar dentro do título, como no exemplo abaixo:

Exemplo de configuração do host virtual com o tráfego HTTP redirecionado para HTTPS

Salve suas alterações e saia deste arquivo quando terminar. Para que as alterações entrem em vigor, você precisará recarregar a configuração do Apache com o seguinte comando SystemCTL:

$ sudo systemctl Reload Apache2 # Debian, Ubuntu ou $ sudo systemctl Reload Httpd # Red Hat, Centos, Fedora 

Redirecionar http para https com .arquivo htaccess

Se você não tem acesso à configuração do host virtual, o .htaccess O arquivo será sua única opção. Pode ser encontrado no diretório raiz do seu site, que deve estar acessível, independentemente do host da web que você está usando.

Basta editar este arquivo e adicionar as seguintes linhas de código a ele. Você pode apenas colá -los na parte inferior do arquivo.

RewriteEngine no rewritetond %https off rewriture ^(.*) $ https: // Exemplo.com/$ 1 [l, r = 301] 


Isso é tudo o que há para isso. Você deve notar as mudanças instantaneamente ao navegar no seu site, pois o Apache não precisa ser recarregado para que essas mudanças tenham efeito.

Pensamentos finais

Https é definitivamente o caminho a seguir. Neste artigo, vimos como foi fácil redirecionar todo o tráfego para HTTPS e se livrar inteiramente do HTTP. Qualquer um desses métodos é viável para forçar o tráfego HTTP a HTTPS em seu site.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Ubuntu 20.04 WordPress com instalação do Apache
  • Ubuntu 20.04: WordPress com instalação nginx
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Download do Linux
  • Coisas para instalar no Ubuntu 22.04
  • Testando clientes HTTPS usando o OpenSSL para simular um servidor
  • Como usar o nginx para redirecionar todo o tráfego de HTTP para HTTPS