Maison >Opération et maintenance >Nginx >Comment Nginx redirige HTTP vers HTTPS
Nginx est un outil de redirection puissant qui peut être facilement configuré pour rediriger le trafic Web HTTP non sécurisé ou non chiffré vers des serveurs Web HTTPS chiffrés et sécurisés sur votre système.
Nginx, prononcé "Engine x", est un serveur Web et proxy inverse gratuit, open source, hautes performances, basé sur Linux, 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 facilement configuré pour rediriger le trafic Web HTTP non sécurisé ou non chiffré vers des serveurs Web HTTPS chiffrés et sécurisés sur votre système. Si vous êtes un administrateur système ou un développeur, vous devez utiliser fréquemment le serveur Nginx.
Dans cet article, nous verrons comment rediriger le trafic Web de HTTP vers HTTPS sécurisé dans Nginx. Les en-têtes de message HTTP sont transmis au format de chaîne de texte clair, tandis que HTTPS utilise SSL/TLS pour crypter la communication entre les systèmes client et serveur. Par conséquent, HTTPS devrait remplacer HTTP pour de nombreuses raisons :
1. Toutes les données dans les deux sens entre client-serveur sont cryptées. Cependant, en cas d'interception, personne ne peut accéder aux informations sensibles.
2. Lorsque vous utilisez HTTPS, Google Chrome et d'autres navigateurs considéreront le domaine de votre site Web comme sécurisé.
3. La version HTTPS améliore les performances de votre site Web spécifié en utilisant le protocole HTTP/2.
4. Si vous diffusez le domaine de votre site Web via HTTPS, le site Web sera mieux classé sur Google car il favorise tous les sites Web protégés par HTTPS.
5. Il est préférable de rediriger le trafic dans Nginx HTTP vers HTTPS 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 », ce qui pourrait entraîner un comportement erratique du serveur.
Rediriger tout le trafic de HTTP vers HTTPS
Ajoutez les modifications suivantes au fichier de configuration Nginx pour rediriger tout le trafic de HTTP vers HTTPS Version :
server { listen 80 default_server; server_name _; return 301 https://$host$request_uri; }
Ci-dessous, nous détaillons chacun des termes ci-dessus :
Écoutez 80 default_server – Cela demandera à votre système de capturer tout le trafic HTTP sur le port 80
Server_name _ – $request_uri – Cela indique à vos moteurs de recherche de le rediriger de manière permanente. Il spécifie la variable $host pour contenir le nom de domaine.
Après avoir modifié les paramètres de configuration, le service Nginx doit être rechargé sur le système. Alors, rechargez le service Nginx en utilisant la commande suivante :
$ sudo systemctl reload nginx
Rediriger HTTP vers HTTPS pour un domaine spécifié dans Nginx
server { listen 80; server_name linuxmi.com www.linuxmi.com; return 301 https://linuxmi.com$request_uri; }Parcourons le code ci-dessus ligne par ligne.
Écouter 80 - En utilisant le port 80, le serveur écoutera toutes les connexions entrantes pour le nom de domaine spécifié.
Server_name linuxmi.com www.linuxmi.com – Il spécifie le nom de domaine. Remplacez-le donc par le nom de domaine du site Web que vous souhaitez rediriger.
Return 301 https://linuxmi.com$request_uri – Déplacer le trafic vers la version HTTPS du site.
La variable $request_uri concerne l'URI complet de la demande d'origine, qui contient également des paramètres.
En utilisant la méthode suivante, vous pouvez rediriger le trafic de la version HTTPS www vers la version non-www de votre site. Pour les versions non-www et www, il est recommandé de créer des redirections dans des blocs de serveur séparés. Expliquons avec un exemple. Si vous souhaitez rediriger les requêtes www HTTPS vers une version non-www, vous devez suivre la configuration suivante :
server { listen 80; server_name linuxmi.com www.linuxmi.com; return 301 https://linuxmi.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxmi.com; # . . . other code return 301 https://linuxmi.com$request_uri; } server { listen 443 ssl http2; server_name linuxmi.com; # . . . other code }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!