Como redirecionar URLs usando o NGINX ⋆ ALexHost SRL

Teste suas habilidades em todos os nossos serviços de hospedagem e ganhe 15% de desconto!

Utilizar o código no ato da compra:

Skills
27.11.2024

Como redirecionar URLs usando o NGINX

O gerenciamento eficaz do tráfego da Web começa com uma solução de hospedagem segura e confiável. Os servidores dedicados da AlexHost fornecem o ambiente perfeito para executar o NGINX e configurar regras robustas de redirecionamento de URL. Com alto desempenho, acesso total à raiz e segurança de nível empresarial, a AlexHost garante que seu servidor da Web funcione perfeitamente, quer você esteja migrando domínios, aplicando HTTPS ou otimizando o fluxo de tráfego.

O redirecionamento de URL é uma ferramenta crucial para gerenciar o tráfego da Web, melhorar a experiência do usuário e garantir que as práticas recomendadas de SEO sejam atendidas. Quer você esteja migrando um site, reestruturando o conteúdo ou simplesmente corrigindo links quebrados, o redirecionamento de URLs garante que os usuários e os mecanismos de pesquisa sejam enviados para o local correto. Neste artigo, exploraremos como redirecionar URLs usando o NGINX, um dos servidores da Web mais usados atualmente.

Entendendo o redirecionamento de URL

Antes de nos aprofundarmos nos aspectos técnicos, vamos descrever brevemente o que é o redirecionamento de URL e por que ele é importante. O redirecionamento de URL é uma maneira de encaminhar um URL para outro. Isso garante que os usuários que visitam o URL antigo sejam automaticamente enviados para o novo sem encontrar um erro 404. Há vários tipos de redirecionamentos, incluindo:

  1. 301 Permanent Redirect (Redirecionamento permanente 301 ) – Indica que o URL foi movido permanentemente.
  2. 302 Temporary Redirect (Redirecionamento temporário ) – Indica que o URL foi movido temporariamente.
  3. 307 Temporary Redirect (Redirecionamento temporário ) – Uma versão mais específica do 302 usada em alguns casos.
  4. 308 Permanent Redirect – Semelhante ao 301, mas preserva o método de solicitação (por exemplo, POST) durante o redirecionamento.

O NGINX, com seus arquivos de configuração simples e alto desempenho, é uma excelente ferramenta para gerenciar redirecionamentos de forma eficiente.

Pré-requisitos

Antes de prosseguir com o redirecionamento de URL usando o NGINX, você precisará do seguinte:

  • NGINX instalado e em execução em seu servidor
  • Acesso root ou sudo ao servidor
  • Conhecimento básico dos arquivos de configuração do NGINX
  • Editor de texto como
    nano
    ou
    vim
    instalado

Etapa 1: acessar os arquivos de configuração do NGINX

A primeira etapa é acessar e modificar o arquivo de configuração do NGINX em que os blocos do servidor estão definidos. Dependendo do seu sistema, os arquivos de configuração do NGINX geralmente são armazenados em:

  • /etc/nginx/nginx.conf (configuração principal)
  • /etc/nginx/sites-available/default (configurações específicas do site)

Para editar o arquivo de configuração de um site específico, use o seguinte comando:

sudo nano /etc/nginx/sites-available/default

Isso abrirá o arquivo de configuração do site padrão no editor de texto

nano
. Você também pode especificar o arquivo de configuração de um site específico hospedado em seu servidor.

Etapa 2: Redirecionamento básico usando a diretiva
return

Uma das maneiras mais simples de redirecionar um URL no NGINX é usar a diretiva

return
. Aqui está um exemplo básico de como implementar um redirecionamento 301 (permanente) para uma única página:

server {
listen 80;
server_name www.old-site.com;
location /old-page {
return 301 http://www.new-site.com/new-page;
}
}

Essa configuração escuta as solicitações na porta 80 (HTTP) e verifica o URL

/old-page
. Quando um usuário visita esse URL, ele é redirecionado permanentemente para
http://www.new-site.com/new-page.

Etapa 3: uso da diretiva de
reescrita
para redirecionamentos avançados

Para cenários de redirecionamento mais complexos, a diretiva

de reescrita
do NGINX pode ser extremamente útil. Ela permite que você combine padrões de URL usando expressões regulares e os transforme conforme necessário.

Exemplo: Redirecionar todas as páginas para um novo domínio

Se você tiver movido um site inteiro para um novo domínio e quiser que todo o tráfego seja redirecionado, use a seguinte configuração:

server {
listen 80;
server_name www.old-site.com;
rewrite ^(.*)$ http://www.new-site.com$1 permanent;
}

Aqui, a diretiva de

reescrita
pega qualquer solicitação de entrada
(.*)
e a anexa ao novo domínio
$1
, seguido de um redirecionamento permanente 301. Isso garante que todas as páginas do site antigo apontarão para suas páginas correspondentes no novo site.

Exemplo: Redirecionamento de HTTP para HTTPS

É uma prática recomendada comum redirecionar todo o tráfego HTTP para HTTPS por motivos de segurança. Você pode fazer isso facilmente com a seguinte configuração:

server {
listen 80;
nome_do_servidor www.example.com;
return 301 https://$nome_do_servidor$request_uri;
}

Essa diretiva garante que qualquer solicitação ao site por HTTP seja permanentemente redirecionada para HTTPS. A variável

$server_name
preenche automaticamente o seu domínio, enquanto
$request_uri
mantém o caminho e a string de consulta intactos.

Etapa 4: Redirecionamentos condicionais

O NGINX também permite redirecionamentos condicionais com base em fatores como agentes de usuário, cookies ou endereços IP. Aqui está um exemplo de como redirecionar usuários com base em seu agente de usuário (por exemplo, redirecionar usuários móveis para uma versão móvel do site):

if ($http_user_agent ~* "(Android|iPhone|iPad)") {
rewrite ^/$ http://m.example.com redirect;
}

Neste exemplo, se o agente do usuário contiver a string “Android”, “iPhone” ou “iPad”, o usuário será redirecionado para a versão móvel do site.

Etapa 5: testar sua configuração

Depois de fazer alterações na configuração do NGINX, é essencial testá-las quanto a erros de sintaxe antes de reiniciar o servidor. Use o seguinte comando para verificar sua configuração:

sudo nginx -t

Se o teste for bem-sucedido, você verá uma mensagem como:

nginx: o teste do arquivo de configuração /etc/nginx/nginx.conf foi bem-sucedido

Etapa 6: recarregar o NGINX

Depois que sua configuração for validada, aplique as alterações recarregando o NGINX:

sudo systemctl reload nginx

Isso recarregará o serviço NGINX e aplicará suas novas regras de redirecionamento sem interromper as conexões ativas.

Etapa 7: monitorar e depurar

É importante monitorar os logs do NGINX para garantir que as regras de redirecionamento estejam funcionando conforme o esperado. Os arquivos de registro geralmente estão localizados em:

  • /var/log/nginx/access.log – Contém detalhes sobre cada solicitação.
  • /var/log/nginx/error.log – registra todos os erros encontrados.

Se o seu redirecionamento não estiver funcionando como pretendido, esses registros poderão ajudá-lo a identificar quaisquer problemas.

Casos de uso comuns para redirecionamento de URL

Aqui estão alguns cenários comuns em que o redirecionamento de URL pode ser benéfico:

  1. Migração para um novo domínio: Redirecione todos os URLs do domínio antigo para o novo domínio para manter o tráfego e as classificações de SEO.
  2. Alteração de uma estrutura de URL: Redirecione os URLs antigos para os novos depois de reestruturar seu site para evitar erros 404.
  3. Imposição de HTTPS: redirecione todas as solicitações HTTP para HTTPS para aumentar a segurança e a confiança.
  4. Redirecionamento para uma página específica: Encaminhe o tráfego de uma página para outra se a página original estiver desatualizada ou for movida.

Conclusão

O redirecionamento de URL usando o NGINX é uma ferramenta poderosa para gerenciar o tráfego da Web e garantir uma experiência de usuário tranquila. Se você estiver migrando um site, aplicando HTTPS ou reestruturando URLs, o NGINX facilita a configuração e o gerenciamento de redirecionamentos. Seguindo este guia, você pode configurar regras de redirecionamento de URL simples e avançadas, garantindo que os usuários e os mecanismos de pesquisa sejam direcionados para o lugar certo.

Teste suas habilidades em todos os nossos serviços de hospedagem e ganhe 15% de desconto!

Utilizar o código no ato da compra:

Skills