Nginx

Como redirecionar URLs no Nginx

Como redirecionar URLs no Nginx
Nginx é um servidor da web leve, que costuma ser usado como proxy reverso, servidor da web e balanceador de carga. O Nginx, por padrão, vem com muitos recursos úteis e mais podem ser adicionados como módulos quando estiver sendo instalado. Este guia pretende demonstrar como usar o Nginx para redirecionar URLs para direções diferentes. Mesmo que o Nginx forneça uma infinidade de recursos para redirecionar URLs, este guia usa uma fração deles, pois sua intenção é ensinar apenas os essenciais no redirecionamento de URL. As áreas abordadas neste guia são redirecionar URLs não seguros (porta 80) para sua versão segura, redirecionar uma solicitação ao IP para um nome de domínio e, finalmente, redirecionar quaisquer outros subdomínios, domínios para o domínio principal.

Pré requisitos

Em primeiro lugar, este guia assume que o usuário tem um cliente SSH adequado instalado no computador, se não vá em frente e instale o Putty como cliente, use os seguintes comandos. Além disso, com o Nginx, o editor Nano também é necessário.

  1. Digite os seguintes comandos para instalar o editor de texto Nano. O primeiro comando ajuda a recuperar os pacotes mais recentes dos repositórios e o segundo comando instala a versão mais recente do editor de texto nano.
sudo apt-get update
sudo apt-get install nano
  1. Na janela do terminal, digite o seguinte comando para alterar o diretório atual para o diretório nginx.
cd / etc / nginx / sites-available
  1. Agora digite nano padrão ou o nome do arquivo associado ao domínio para alterar as configurações do domínio.
  2. Desde agora, siga um dos seguintes segmentos para prosseguir.

Redirecionar de HTTP (porta 80)

Google, Bing e muitos outros motores de busca hoje em dia favorecem sites com uma conexão criptografada. Quando a conexão entre o cliente e o servidor é criptografada, os dados transmitidos por meio dessa conexão específica são seguros e, portanto, terceiros não podem acessar esses dados. Quando a conexão não é criptografada, tais sites são inseguros e, portanto, colocam em risco a segurança dos dados. Site inseguro usa a porta 80 para fornecer seu serviço ao público. Infelizmente, por padrão, o navegador da web se conecta à porta 80, pois o servidor web assume que é o que o cliente deseja por padrão e, portanto, a solicitação deve ser redirecionada para sua versão segura. Existem várias maneiras de fazer isso com o Nginx.

Método 1

Se o nome de domínio atual estiver disponível e se receber solicitações de clientes, eles podem ser redirecionados para outro domínio com o seguinte snippet de código. Basta copiá-lo para o arquivo padrão ou para o arquivo do domínio.

O parâmetro de servidor padrão especifica que este bloco de servidor é o servidor padrão, portanto, qualquer solicitação para a porta 80 executa este bloco de servidor primeiro por padrão e, em seguida, o resto segue. O parêntese significa que também captura solicitações de redes ipv6. O retorno 310 significa que o redirecionamento é permanente e, portanto, o link juice é passado junto com ele.

servidor
escuta 80 default_server;
escute [::]: 80 default_server;
server_name domínio.com www.domínio.com;
retornar 301 https: // domínio.com $ request_uri;

Método 2

Se o servidor atual não tiver nenhum site anexado a ele e o requisito for redirecionar todas as solicitações para a porta 80, o seguinte bloco de servidor pode ser usado. Copie-o para o arquivo padrão como afirmado anteriormente. Aqui _ (sublinhado) significa qualquer domínio. Como anteriormente, o parâmetro default_server, parênteses (para endereços IPv6) como atributos opcionais também podem ser usados ​​aqui.

servidor
escuta 80 default_server;
nome do servidor _;
return 301 https: // $ host $ request_uri;

Método 3

O seguinte snippet de código significa que se a conexão não está criptografada, ou seja, a porta 80 recebe solicitações, eles são redirecionados para uma versão segura do domínio especificado. Isso deve ser copiado para qualquer lugar no bloco do servidor , mas após o parâmetro server_name.

if (esquema de $ != "https")
return 301 https: // $ host $ request_uri;

Redirecionar do endereço IP

Ao contrário de um host compartilhado, os servidores dedicados e os servidores virtuais privados sempre têm um endereço IP dedicado alocado para ele. Se o servidor da web estiver configurado com Nginx com sublinhado (o que significa que o servidor processa todas as solicitações), qualquer solicitação para o endereço IP também ganha acesso ao site. Ter acesso ao site por meio de um endereço IP não é algo que todo webmaster deseja, por vários motivos. Por outro lado, se todas as solicitações forem processadas, usuários mal-intencionados podem associar qualquer domínio aleatório ao servidor da web, o que não é bom para o nome da marca ou da empresa e, portanto, é importante processar apenas solicitações para domínios específicos ou e endereço de IP. Este segmento demonstra, em tais casos, como processar solicitações para o endereço IP do servidor web. Usar este bloco de código junto com um dos blocos de código acima (exceto o método 2 da solução anterior) garante que cada solicitação para ambos os domínios e o IP sejam redirecionados para o destino desejado.

Como dito acima, copie o seguinte snippet de código para o arquivo padrão do Nginx (pré-requisitos, 3ª etapa). Em vez de usar o nome do domínio no parâmetro nome_do_servidor, basta usar o endereço IP do servidor e, na linha seguinte, usar “retornar domínio 301” para onde a solicitação está sendo redirecionada. Agora, quando uma solicitação para este endereço IP específico é recebida no servidor, ela é redirecionada para o domínio declarado. Um melhor exemplo disso é quando um usuário aleatório digita o IP do servidor web para acessar o site diretamente. Se o seguinte trecho de código não for declarado em nenhum lugar do arquivo padrão, qualquer solicitação ao IP não será processada; portanto, os usuários não conseguem acessar o site através do endereço IP.

servidor
escute 80;
ouvir [::]: 80;
ouvir 443 ssl http2;
ouvir [::]: 443 ssl http2;
server_name 192.168.1.1;
return 301 https: // nucuta.com;

Redirecionar de qualquer outro domínio

Esta solução é igual à primeira solução deste guia, exceto que também redireciona as solicitações para a porta 443 do servidor da web, o que significa que as solicitações protegidas e não protegidas são redirecionadas para o domínio declarado no parâmetro de retorno. Como disse anteriormente, simplesmente copie isso para o arquivo padrão.

servidor
escute 80;
ouvir [::]: 80;
ouvir 443 ssl http2;
ouvir [::]: 443 ssl http2;
server_name domínio.com www.domínio.com;
return 301 https: // nucuta.com;

Finalizando

Depois de seguir uma das soluções acima, o arquivo nginx deve ser compilado para que sua configuração tenha efeito. No entanto, o arquivo padrão deve ser testado antes de compilar, pois evita que o servidor web trave se houver um erro na configuração.

  1. Basta usar o seguinte comando no terminal Linux para testar o arquivo de configuração padrão, se o resultado for bom, continue para a próxima etapa.
sudo nginx -t
  1. Use um dos seguintes comandos para reiniciar o servidor da web Nginx. O comando depende do nome e da versão da distribuição Linux.
sudo systemctl restart nginx
sudo service nginx reload
sudo / etc / init.recarregar d / nginx
Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...
Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...
Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...