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
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:
-
- Configure o servidor Nginx para escutar as portas HTTP (80) e HTTPS (443);
- Adicione o bloco de redirecionamento para direcionar todo o tráfego HTTP para HTTPS;
- Configure os certificados SSL/TLS corretamente para garantir que a comunicação seja segura;
- 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.