Nginx

Comment rediriger les URL dans Nginx

Comment rediriger les URL dans Nginx
Nginx est un serveur Web léger, qui est souvent utilisé comme proxy inverse, serveur Web et équilibreur de charge. Nginx, par défaut, propose de nombreuses fonctionnalités utiles, et d'autres peuvent être ajoutées en tant que modules lors de son installation. Ce guide a pour but de montrer comment utiliser Nginx pour rediriger les URL vers différentes directions. Même si Nginx fournit une pléthore de fonctionnalités pour rediriger les URL, ce guide n'en utilise qu'une fraction car son intention est de n'enseigner que les éléments essentiels de la redirection d'URL. Les domaines couverts dans ce guide sont la redirection des URL non sécurisées (port 80) vers sa version sécurisée, la redirection d'une demande vers l'IP vers un nom de domaine, et enfin la redirection de tout autre sous-domaine, domaine vers le domaine principal.

Pré-requis

Tout d'abord, ce guide suppose que l'utilisateur a un client SSH approprié installé sur l'ordinateur, sinon allez-y et installez Putty en tant que client, puis utilisez les commandes suivantes. De plus, avoir Nginx, l'éditeur Nano sont également requis.

  1. Tapez les commandes suivantes pour installer l'éditeur de texte Nano. La première commande permet de récupérer les derniers packages des référentiels, et la deuxième commande installe la dernière version de l'éditeur de texte nano.
sudo apt-get mise à jour
sudo apt-get install nano
  1. Dans la fenêtre du terminal, tapez la commande suivante pour changer le répertoire actuel en répertoire nginx.
cd /etc/nginx/sites-disponible
  1. Tapez maintenant nano par défaut ou le nom du fichier associé au domaine pour modifier les paramètres du domaine.
  2. Depuis maintenant, suivez l'un des segments suivants pour continuer.

Rediriger depuis HTTP (port 80)

Google, Bing et bien d'autres moteurs de recherche privilégient aujourd'hui les sites web avec une connexion cryptée. Lorsque la connexion entre le client et le serveur est cryptée, les données transmises via cette connexion particulière sont sécurisées et les tiers ne peuvent donc pas accéder à ces données. Lorsque la connexion n'est pas cryptée, de tels sites ne sont pas sécurisés et compromettent ainsi la sécurité des données. Un site Web non sécurisé utilise le port 80 pour fournir son service au public. Malheureusement, par défaut, le navigateur Web se connecte au port 80, car le serveur Web suppose que c'est ce que le client veut par défaut, et donc la demande doit être redirigée vers sa version sécurisée. Il existe plusieurs façons de le faire avec Nginx.

Méthode 1

Si le nom de domaine actuel est disponible et s'il reçoit des demandes de clients, ils peuvent être redirigés vers un autre domaine avec l'extrait de code suivant. Copiez-le simplement dans le fichier par défaut ou le fichier du domaine.

Le paramètre de serveur par défaut spécifie que ce bloc de serveur est le serveur par défaut, par conséquent, toute demande au port 80 exécute d'abord ce bloc de serveur par défaut, puis le reste suit par la suite. La parenthèse signifie qu'il capture également les demandes des réseaux ipv6. Le retour 310 signifie que la redirection est permanente, et donc le jus de lien est transmis avec lui.

serveur
écouter 80 default_server;
écouter [::]:80 default_server;
domaine nom_serveur.com www.domaine.com;
retourner 301 https://domaine.com$request_uri;

Méthode 2

Si le serveur actuel n'est associé à aucun site Web et que l'exigence consiste à rediriger toutes les demandes vers le port 80, le bloc de serveur suivant peut être utilisé. Copiez-le dans le fichier par défaut comme indiqué précédemment. Ici _ (souligné) signifie n'importe quel domaine. Comme précédemment, le paramètre default_server, les parenthèses (pour les adresses IPv6) comme les attributs facultatifs peuvent également être utilisés ici.

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

Méthode 3

L'extrait de code suivant signifie que si la connexion n'est pas cryptée, ce qui signifie que le port 80 reçoit des requêtes, elles sont alors redirigées vers une version sécurisée du domaine spécifié. Cela doit être copié n'importe où dans le bloc server , mais après le paramètre server_name.

si (schéma $ != "https")
renvoie 301 https://$host$request_uri;

Rediriger à partir de l'adresse IP

Contrairement à un hôte partagé, les serveurs dédiés et les serveurs privés virtuels ont toujours une adresse IP dédiée qui leur est allouée. Si le serveur Web est configuré avec Nginx avec un trait de soulignement (ce qui signifie que le serveur traite chaque demande), alors toute demande à l'adresse IP accède également au site Web. Avoir accès au site Web via une adresse IP n'est pas quelque chose que chaque webmaster veut pour diverses raisons. D'un autre côté, si chaque demande est traitée, les utilisateurs malveillants peuvent associer n'importe quel domaine aléatoire au serveur Web, ce qui n'est pas bon pour le nom de la marque ou de l'entreprise, et il est donc important de ne traiter que les demandes vers des domaines spécifiques ou et adresse IP. Ce segment montre dans de tels cas comment traiter les demandes à l'adresse IP du serveur Web. L'utilisation de ce bloc de code avec l'un des blocs de code ci-dessus (à l'exception de la méthode 2 de la solution précédente) garantit que chaque demande adressée aux deux domaines et IP est redirigée vers la destination souhaitée.

Comme indiqué ci-dessus, copiez l'extrait de code suivant dans le fichier par défaut de Nginx (pré-requis, 3ème étape). Au lieu d'utiliser le nom du domaine dans le paramètre server_name, utilisez simplement l'adresse IP du serveur, puis dans la ligne suivante, utilisez « return 301 domain » vers où la demande est redirigée. Désormais, lorsqu'une demande à cette adresse IP particulière est reçue sur le serveur, elle est redirigée vers le domaine indiqué. Un meilleur exemple pour cela est, lorsqu'un utilisateur au hasard tape l'adresse IP du serveur Web pour accéder directement au site. Si l'extrait de code suivant n'est indiqué nulle part dans le fichier par défaut, aucune demande à l'adresse IP n'est traitée ; par conséquent, les utilisateurs ne peuvent pas accéder au site Web via l'adresse IP.

serveur
écouter 80 ;
écoutez [::]:80;
écouter 443 ssl http2;
écouter [::]:443 ssl http2;
nom_serveur 192.168.1.1;
retour 301 https://nucuta.com;

Rediriger depuis n'importe quel autre domaine

Cette solution est la même que la première solution de ce guide, sauf qu'elle redirige également les demandes vers le port 443 du serveur Web, ce qui signifie que les demandes sécurisées et non sécurisées sont redirigées vers le domaine indiqué dans le paramètre de retour. Comme dit précédemment, copiez simplement ceci dans le fichier par défaut.

serveur
écouter 80 ;
écoutez [::]:80;
écouter 443 ssl http2;
écouter [::]:443 ssl http2;
domaine nom_serveur.com www.domaine.com;
retour 301 https://nucuta.com;

Finalisation

Après avoir suivi l'une des solutions ci-dessus, le fichier nginx doit être compilé pour que sa configuration prenne effet. Cependant, le fichier par défaut doit être testé avant la compilation, car il empêche le serveur Web de planter s'il y avait une erreur dans la configuration.

  1. Utilisez simplement la commande suivante dans le terminal Linux pour tester le fichier de configuration par défaut, si le résultat est bon, passez à l'étape suivante.
sudo nginx -t
  1. Utilisez l'une des commandes suivantes pour redémarrer le serveur Web Nginx. La commande dépend du nom et de la version de la distribution Linux.
sudo systemctl redémarrer nginx
sudo service nginx recharger
sudo /etc/init.d/nginx recharger
Comment utiliser Xdotool pour stimuler les clics de souris et les frappes sous Linux
Xdotool est un outil de ligne de commande gratuit et open source pour simuler les clics de souris et les frappes. Cet article couvrira un bref guide s...
Top 5 des produits de souris d'ordinateur ergonomiques pour Linux
L'utilisation prolongée de l'ordinateur provoque-t-elle des douleurs au poignet ou aux doigts? Vous souffrez de raideurs articulaires et devez constam...
Comment modifier les paramètres de la souris et du pavé tactile à l'aide de Xinput sous Linux
La plupart des distributions Linux sont livrées avec la bibliothèque "libinput" par défaut pour gérer les événements d'entrée sur un système. Il peut ...