Dans cet article, nous travaillerons sur la façon de rediriger le trafic Web de HTTP à un HTTPS sécurisé dans Nginx.
Les réponses et les demandes sont renvoyées sous forme de texte en clair dans HTTP, tandis que le HTTPS utilise SSL / TLS pour crypter la communication entre le client et le système de serveur. Par conséquent, pour de nombreuses raisons, HTTPS est utilisé sur le HTTP, qui sont répertoriés ci-dessous:
Il est préféré pour rediriger le trafic HTTP vers HTTPS dans Nginx dans un bloc de serveur séparé pour chaque version du site. Il est également recommandé d'éviter de rediriger le trafic en utilisant une direction «si» qui peut provoquer un comportement inhabituel du serveur.
Redirigez tout le trafic de HTTP vers HTTPS
Ajoutez les modifications suivantes dans le fichier de configuration Nginx afin de rediriger tout le trafic de HTTP à la version HTTPS:
serveurCi-dessous, nous avons élaboré chaque terme susmentionné:
Écouter 80 default_server - Cela signalera votre système qui attrape tout le trafic HTTP sur le port 80.
Server_name _ - c'est le domaine qui correspondra à n'importe quel nom d'hôte.
Retour 301 https: // $ host $ request_uri - Cela indique à vos moteurs de recherche qui le redirigent en permanence. Il spécifie que l'hôte de la variable $ détient les noms de domaine.
Une fois que vous avez modifié les paramètres de configuration, vous devez recharger les services Nginx sur votre système. Ainsi, rechargez vos services Nginx en utilisant la commande suivante:
$ sudo systemctl recharger nginx
Rediriger HTTP vers la version HTTPS pour un domaine spécifié dans Nginx
Après avoir installé le certificat SSL sur votre domaine, vous aurez deux options de blocs de serveur pour ce domaine. Un bloc est pour la version HTTP à écouter sur le port 80, et la deuxième version est HTTPS sur le port 443. Cependant, pour rediriger un seul domaine de site Web de HTTP vers HTTPS, vous devez ouvrir la configuration Nginx. Vous pouvez localiser ce fichier de configuration dans le répertoire / nginx / nginx / sites. En tout cas, si vous n'avez pas trouvé ce fichier, vous pouvez le rechercher avec / etc / nginx / nginx.Conf, / usr / local / nginx / confue ou / usr / local / etc / nginx, puis effectuez les modifications suivantes dans ce fichier:
serveurComprenons le code ci-dessus ligne par ligne.
Écouter 80 - À l'aide du port 80, le serveur écoutera toutes les connexions entrantes Domaine spécifié.
Nom de domaine server_name.com www.nom de domaine.com - il spécifie les noms de domaine. Alors, remplacez-le par le nom de domaine de votre site Web que vous souhaitez rediriger.
Retour 301 https: // nom de domaine.com $ request_uri - il déplace le trafic vers la version HTTPS du site. La variable $ request_uri est utilisée pour la demande complète de la demande d'origine dans laquelle les arguments sont également inclus.
En utilisant la méthode suivante, vous pouvez rediriger le trafic vers la version HTTPS www vers la version non-WWW du site. Il est recommandé de créer une redirection dans un bloc de serveur séparé pour les versions non www et www.
Expliquons avec un exemple. Si vous souhaitez rediriger les demandes WWW HTTPS vers la version non-WWW, vous suiveriez la configuration suivante:
serveurRemplacez le nom de domaine par votre domaine, comme www.linuxhint.com.
Conclusion
Nous avons discuté de la façon de rediriger le trafic de la version HTTP vers le HTTPS sur le serveur Nginx. En modifiant le paramètre de fichier de configuration Nginx, vous pouvez facilement rediriger le trafic vers HTTPS soit pour un domaine spécifié ou rediriger tous. Cette méthode, que nous avons mentionnée dans cet article, peut vous aider à rendre votre site Web plus sécurisé en apportant des modifications dans l'expérience utilisateur.