Neste artigo, trabalharemos sobre como redirecionar o tráfego da web de HTTP para um HTTPS seguro no Nginx.
As respostas e solicitações são retornadas na forma de texto simples no HTTP, enquanto o HTTPS usa SSL/TLS para criptografar a comunicação entre o cliente e o sistema de servidor. Portanto, devido a muitos motivos, o HTTPS é usado no HTTP, listado abaixo:
É preferido redirecionar o tráfego http para https no nginx em um bloco de servidor separado para cada versão do site. Também é recomendável evitar redirecionar o tráfego usando a direção "se" que possa causar comportamento incomum do servidor.
Redirecionar todo o tráfego de HTTP para HTTPS
Adicione as seguintes alterações no arquivo de configuração do NGINX para redirecionar todo o tráfego da versão HTTP para HTTPS:
servidorAbaixo, elaboramos cada termo acima mencionado:
Ouça 80 Default_server - Isso sinalizará seu sistema que captura todo o tráfego HTTP na porta 80.
Server_name _ - é o domínio que corresponderá a qualquer nome de host.
Retornar 301 https: // $ host $ request_uri - Isso diz aos seus mecanismos de pesquisa que o redirecionam permanentemente. Ele especifica que a variável $ host detém os nomes de domínio.
Depois de alterar as definições de configuração, você precisa recarregar os serviços nginx em seu sistema. Então, recarregue seus serviços nginx usando o seguinte comando:
$ sudo systemctl recarregar nginx
Redirecionar a versão http para https para domínio especificado no nginx
Depois de instalar o certificado SSL em seu domínio, você terá duas opções de blocos de servidor para este domínio. Um bloco é para a versão HTTP ouvindo na porta 80, e a segunda versão é https na porta 443. No entanto, para redirecionar um único domínio de site de HTTP para HTTPS, você precisa abrir a configuração do NGINX. Você pode localizar este arquivo de configuração no diretório/etc/nginx/sites e disponíveis. De qualquer forma, se você não encontrar este arquivo, poderá pesquisá -lo com/etc/nginx/nginx.conf,/usr/local/nginx/conf ou/usr/local/etc/nginx e, em seguida, execute as seguintes alterações neste arquivo:
servidorVamos entender a linha de código acima.
Ouça 80 - Usando a porta 80, o servidor ouvirá todas as conexões de entrada do domínio especificado.
Server_name domain-name.com www.nome do domínio.com - ele especifica os nomes de domínio. Portanto, substitua -o pelo nome de domínio do seu site que você deseja redirecionar.
Retornar 301 https: // domínio-name.com $ request_uri - ele move o tráfego para a versão https do site. A variável $ request_uri é usada para a solicitação original completa URI no qual os argumentos também estão incluídos.
Usando o método a seguir, você pode redirecionar o tráfego para a versão HTTPS www para a versão não www do site. Recomenda-se criar um redirecionamento em um bloco de servidor separado para versões não www e www.
Vamos explicar com um exemplo. Se você deseja redirecionar as solicitações HTTPS www para a versão que não é www, seguiria a seguinte configuração:
servidorSubstitua o nome de domínio pelo seu domínio, como www.Linuxhint.com.
Conclusão
Discutimos como redirecionar o tráfego da versão HTTP para o HTTPS no servidor nginx. Ao alterar a configuração do arquivo de configuração do NGINX, você pode redirecionar facilmente o tráfego para HTTPS para um domínio especificado ou redirecionar tudo. Este método, que mencionamos neste artigo, pode ajudá -lo a tornar seu site mais seguro, fazendo quaisquer alterações na experiência do usuário.