Nginx

Nginx Rediriger HTTP vers HTTPS

Nginx Rediriger HTTP vers HTTPS
Nginx, prononcé comme « Engine x », est un site Web hautes performances gratuit et open source basé sur Linux et un serveur proxy inverse chargé de gérer et de gérer la charge du plus grand trafic de sites Web sur Internet. Nginx est un outil de redirection puissant qui peut être configuré facilement sur votre système pour rediriger le trafic Web HTTP moins sécurisé ou non crypté vers un serveur Web HTTPS crypté et sécurisé. Si vous êtes un administrateur système ou un développeur, vous utilisez régulièrement le serveur Nginx.

Dans cet article, nous allons travailler sur la façon de rediriger le trafic Web de HTTP vers un HTTPS sécurisé dans Nginx.

Les réponses et les demandes sont renvoyées sous forme de texte en clair en HTTP, tandis que HTTPS utilise SSL/TLS pour crypter la communication entre le système client et serveur. Par conséquent, pour de nombreuses raisons, HTTPS est utilisé sur HTTP, qui sont répertoriés ci-dessous :

Il est préférable de rediriger le trafic HTTP vers HTTPS dans Nginx dans un bloc de serveur distinct pour chaque version du site. Il est également recommandé d'éviter de rediriger le trafic en utilisant la direction « if » qui peut provoquer un comportement inhabituel du serveur.

Rediriger 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 vers la version HTTPS :

serveur
écouter 80 default_server;
nom du serveur _;
renvoie 301 https://$host$request_uri;

Ci-dessous, nous avons élaboré chacun des termes mentionnés ci-dessus :

Listen 80 default_server - cela signalera à votre système qu'il capte tout le trafic HTTP sur le port 80.
Server_name _ - c'est le domaine qui correspondra à n'importe quel nom d'hôte.

Return 301 https://$host$request_uri - cela indique à vos moteurs de recherche qui le redirigent de façon permanente. Il précise que la variable $host contient 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. Alors, rechargez vos services Nginx en utilisant la commande suivante :

$ sudo systemctl recharger nginx

Rediriger HTTP vers la version HTTPS pour le domaine spécifié dans Nginx

Après avoir installé le certificat SSL sur votre domaine, vous aurez deux options de blocage de serveur pour ce domaine. Un bloc est pour la version HTTP écoutant 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 /etc/nginx/sites-available. Dans tous les cas, si vous n'avez pas trouvé ce fichier, vous pouvez le rechercher avec /etc/nginx/nginx.conf, /usr/local/nginx/conf ou /usr/local/etc/nginx, puis effectuez les modifications suivantes dans ce fichier :

serveur
écouter 80 ;
nom_serveur nom-domaine.com www.nom de domaine.com;
retourner 301 https://nom-domaine.com$request_uri;

Comprenons le code ci-dessus ligne par ligne.
Écouter 80 - en utilisant le port 80, le serveur écoutera toutes les connexions entrantes du domaine spécifié.

nom_serveur nom-domaine.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 l'URI de requête d'origine complet dans lequel 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 requêtes HTTPS www vers la version non-www, vous devez suivre la configuration suivante :

serveur
écouter 80 ;
nom_serveur nom-domaine.com www.nom de domaine.com;
retourner 301 https://nom-domaine.com$request_uri;

serveur
écouter 443 ssl http2;
nom_serveur www.nom de domaine.com;
#… autre code
renvoyer 301 https://nom-domaine.com$request_uri;

serveur
écouter 443 ssl http2;
nom_serveur nom-domaine.com;
#… autre code

Remplacez le nom de domaine par votre domaine, comme www.astuce linux.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 du fichier de configuration Nginx, vous pouvez facilement rediriger le trafic vers HTTPS pour un domaine spécifié ou tout rediriger. Cette méthode, que nous avons mentionnée dans cet article, peut vous aider à sécuriser votre site Web en apportant des modifications à l'expérience utilisateur.

Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...
0 A.ré. Didacticiel
Sur les nombreux jeux de stratégie disponibles, 0 A.ré. parvient à se démarquer comme un titre complet et un jeu tactique très profond bien qu'il soit...
Tutoriel Unity3D
Introduction à Unity 3D Unity 3D est un puissant moteur de développement de jeux. C'est une plateforme multiplateforme qui vous permet de créer des je...