1. Home
  2. Hospedagem de Sites
  3. Como usar Nginx para fazer o redirect de HTTP para HTTPS?

Como usar Nginx para fazer o redirect de HTTP para HTTPS?

O Nginx é um dos servidores web de código aberto mais populares e amplamente usados para otimizar o desempenho de sites. Ele também oferece recursos robustos de redirecionamento, como o Nginx redirect HTTP para HTTPS.

Além disso, o Nginx melhora a segurança do site, criptografa a comunicação e evita que dados sejam interceptados por terceiros. Ele ainda funciona como um proxy POP3/IMAP.

Entenda como configurar o Nginx para redirecionar o tráfego HTTP para HTTPS, a fim de garantir que o seu site esteja sempre acessível de forma segura.

Redirecionamento no Nginx

O Nginx utiliza arquivos de configuração para gerenciar e definir regras de redirecionamento. A configuração correta desses arquivos é fundamental para evitar erros e garantir que todas as pessoas que visitam o site sejam redirecionadas corretamente para o lugar que você deseja.

Geralmente, a escolha de redirecionar uma página ocorre porque ela tem um bom rankeamento SEO e precisa migrar para outro CMS. Porém, quando há migração, a URL pode mudar, o que afeta a performance.

Ao usar o Nginx redirect http to https, a URL é redirecionada para a nova página, sem comprometer o desempenho na SERP (Página de Resultados do Mecanismo de Pesquisa).

Redirects de páginas no Nginx

Antes de iniciar os redirects, acesse o seu VPS para verificar se está tudo correto. Após a verificação, é hora de começar o processo de redirecionamento.

No Nginx, a maioria dos redirecionamentos acontece a partir do recurso “rewrite” integrado. Ele está disponível no Nginx e pode formar tipos de redirects Nginx, como o permanente e o temporário.

Essa é a maneira mais simples de fazer redirects sem cometer erros.

Os redirecionamentos de páginas no Nginx permitem que URLs específicas sejam redirecionadas para outras URLs, o que ajuda a manter a integridade dos links e melhora a experiência da pessoa usuária.

Na localização “/etc/nginx/sites-enabled/default” insira o seguinte comando e mude as variáveis conforme as suas necessidades:

Location path_pattern {

rewrite ^/oldURL$ https://www.dominio1.com/newURL redirect;

}

Agora, se deseja redirecionar de forma permanente, use permanent no lugar de redirect.

Já a variável path_pattern, mude para /index.html.

Como redirecionar um domínio com Nginx?

Redirecionar um domínio completo para outro é uma tarefa comum, especialmente ao migrar um site ou adquirir um novo domínio.

Para redirecionar um domínio, adicione o seguinte código ao seu arquivo de configuração do Nginx:

server {

 listen 80;

 server_name old-domain.com;

 return 301 http://new-domain.com$request_uri;

}

Esse exemplo redireciona todo o tráfego do “old-domain.com” para “new-domain.com” e mantém o restante da URL (“$request_uri”), o que é útil para preservar parâmetros de consulta.

Como usar Nginx para fazer redirect de HTTP para HTTPS (SSL)?

Redirecionar HTTP para HTTPS é essencial para garantir a segurança do seu site. O HTTPS usa SSL/TLS para criptografar a comunicação entre o navegador da pessoa usuária e o servidor, a fim de evitar que dados sensíveis sejam interceptados.

Para configurar esse redirecionamento, siga os passos abaixo:

    • Configure o servidor Nginx: primeiro, edite o arquivo de configuração do seu site no Nginx (geralmente localizado em “/etc/nginx/sites-available/”);
    • Adicione redirecionamento: adicione as seguintes linhas para redirecionar o tráfego HTTP para HTTPS:
server {

 listen 80;

 server_name www.example.com example.com;

 return 301 https://$host$request_uri;

 };
    • Configure o SSL: certifique-se de que o bloco do servidor HTTPS está configurado corretamente para receber o tráfego redirecionado:
server {

 listen 443 ssl;

 server_name www.example.com;

 ssl_certificate /etc/ssl/certs/ssl-bundle.crt;

 ssl_certificate_key /etc/ssl/private/private.key;.

Essas configurações garantem que todas as solicitações para “http://www.example.com” ou “http://example.com” sejam redirecionadas para “https://www.example.com”, para proteger os dados das pessoas que visitam a página.

Redirecionar Nginx para sites específicos

Em alguns casos, você pode precisar redirecionar o tráfego do seu site para um site externo ou uma URL específica. Esse tipo de redirecionamento é útil para manutenção ou redirecionamento de campanhas promocionais.

Para isso, adicione o seguinte bloco de código:

server {

 listen 80;

 server_name www.example.com;

 location / {

 return 302 http://externalsite.com;

 }

O redirecionamento 302 é temporário e usado quando não precisa ser permanente, ideal para situações de curto prazo.

Como redirecionar endereços com “www” para aqueles sem “www”?

Redirecionar URLs com “www” para aquelas sem “www” — ou vice-versa — é uma prática comum para evitar conteúdo duplicado e melhorar a consistência do site.

Para redirecionar “www.example.com” para “example.com”, adicione:

server {

 listen 80;

 server_name www.example.com; 

 return 301 $scheme://example.com$request_uri;

}

Isso garante que todas as pessoas que visitam sejam direcionadas para a versão correta do site, independentemente da forma como digitam o endereço.

Diferença entre redirecionamento Nginx temporário e permanente

Como mencionado, é possível redirecionar de forma temporária ou permanente. Os redirecionamentos temporários têm o código 302 como representação, enquanto os permanentes são sinalizados pelo código 301.

Redirecionamento permanente (301)

O código 301 indica aos motores de busca que o redirecionamento é definitivo e que eles devem atualizar seus índices para refletir essa mudança. É o tipo de redirecionamento mais usado quando há mudança no nome de domínio ou reorganização de URLs.

O comando para realizar essa ação é:

 visitante > clique www.seusite.com.br/home > redirecionado para > www.seusite.com.br/home1.

Redirecionamento temporário (302)

O código 302 indica que o redirecionamento é provisório. Isso é útil quando uma página está em manutenção ou para testar novas páginas sem alterar a versão oficial.

Exemplo: caso o seu site esteja em manutenção e você necessite informar às pessoas usuárias a respeito, é possível realizar redirects.

O comando para realizar essa ação é:

visitante > página do seu site > site está em manutenção.

Escolher o tipo certo de redirecionamento é essencial para a indexação correta do seu site pelos motores de busca e para manter a experiência da pessoa usuária sem interrupções.

Conclusão

Clique aqui: Conclusão

Configurar o Nginx para redirecionar HTTP para HTTPS é uma prática fundamental para quem se preocupa com a segurança do seu site. Recapitule os passos principais:

    1. Configure o servidor Nginx para escutar as portas HTTP (80) e HTTPS (443);
    2. Adicione o bloco de redirecionamento para direcionar todo o tráfego HTTP para HTTPS;
    3. Configure os certificados SSL/TLS corretamente para garantir que a comunicação seja segura;
    4. Escolha o tipo de redirecionamento correto (301 para permanente e 302 para temporário), conforme as suas necessidades.

O Nginx é um dos servidores web mais poderosos que existem e permite que você realize redirecionamentos temporários e permanentes conforme falamos acima.

Para se aprofundar mais, descubra por que aprender a escrever códigos é importante.

Este artigo foi útil ?

Artigos relacionados