GNU/Linux >> Tutoriels Linux >  >> Linux

Créer des redirections dans Nginx

Pourquoi utiliser une redirection

Vous utilisez une redirection chaque fois qu'un propriétaire de site Web souhaite qu'une adresse soit redirigée vers une autre adresse, en redirigeant généralement HTTP vers HTTP ou en redirigeant un domaine vers un autre domaine.

Scénario HTTP vers HTTPS :

Vous voulez que vos clients accèdent à votre site sécurisé (SSL) même s'ils tapent http://yourwebsite.com ou yourwebsite.com dans leur navigateur. Ce type de redirection accomplit exactement cela. Par exemple, si votre client saisit http://yourwebsite.com , la redirection dans Nginx® redirige la requête vers https://votresiteweb.com .

Un domaine vers un autre scénario :

Vous êtes propriétaire de votresiteweb.com , votresiteweb.org , et votresiteweb.net , et vous voulez que vos clients arrivent sur votresiteweb.com quelle que soit l'URL qu'ils saisissent dans leur navigateur pour visiter votre site.

Comment rediriger dans Nginx

Les sections suivantes décrivent comment rediriger de HTTP vers HTTPS et d'un domaine vers un autre domaine.

HTTP vers HTTPS

Lorsque vous installez un certificat SSL sur votre serveur, vous disposez de deux blocs de serveur pour votre site Web :un pour HTTP et un pour HTTPS. Le problème est que vous avez besoin d'un moyen de forcer le trafic vers votre site sécurisé par SSL (la version HTTPS). Vous pouvez y parvenir en ajoutant une redirection vers le bloc de serveur Nginx pour votre site Web.

Ouvrez le fichier de configuration de votre domaine. Le fichier doit être nommé comme /etc/nginx/vhost.d/yourwebsite.com.conf . Le .conf indique le fichier de configuration de votre domaine. Ouvrez le fichier avec votre éditeur de texte préféré. L'exemple suivant utilise le vim éditeur :

vim /etc/nginx/vhost.d/yourdomain.com.conf

Your server block will look similar to this:

server {
	listen 80;
	server_name yourwebsite.com www.yourwebsite.com;
}

Selon votre configuration particulière, cela peut contenir plus d'informations que l'exemple précédent, mais il s'agit d'un exemple simple se concentrant sur l'option de redirection.

Cependant, vous souhaitez que vos clients accèdent à la version sécurisée de votresiteweb.com , vous devez donc ajouter une redirection vers le bloc serveur dans le fichier de configuration. Pour ce faire, modifiez le bloc pour qu'il ressemble à l'exemple suivant et enregistrez le fichier :

server {
	listen 80;
	server_name yourwebsite.com www.yourwebsite.com;
	return 301 https://yourwebsite.com$request_uri;
}

Avec la ligne de redirection précédente en place, chaque fois que vos clients saisissent votresiteweb.com ou www.votresiteweb.com , le système les redirige automatiquement vers https://votresiteweb.com version de votre site web. Notez cependant que vous devez ajouter cette ligne au HTTP 80 bloc serveur, pas le HTTPS 443 bloc serveur.

Vous devriez probablement également rediriger tout https://www.yourwebsite.com demandes à https://votresiteweb.com . Vous pouvez le faire en ajoutant une autre ligne de redirection au 443 bloc serveur, souvent situé sous le 80 serverblock dans le fichier de configuration. Cette modification ressemble à l'exemple suivant :

server {
	listen 443;
	server_name www.yourwebsite.com;
	return 301 https://yourwebsite.com$request_uri;
}

server {
	listen 443;
	server_name yourwebsite.com;
}

Remarque : Vos blocs de serveur contiennent probablement plus d'informations que les exemples simplifiés précédents.

D'un domaine à l'autre

Lorsque vous avez un domaine avec plusieurs domaines de premier niveau (tels que .com ,.net , .org , etc.) et que vous souhaitez que tous ces sites accèdent au même site Web, utilisez une redirection. Pour cet exemple, nous supposons que vous possédez votresiteweb.com , votresiteweb.org , et votresiteweb.net , et vous souhaitez les rediriger tous vers votresiteweb.com .

Modifiez à nouveau le fichier de configuration de votre domaine. Au lieu d'ajouter un HTTPS redirect, modifiez le bloc serveur comme indiqué dans l'exemple suivant :

server {
	listen 80;
	server_name yourwebsite.net;
	return 301 $scheme://yourwebsite.com$request_uri;
}

server {
	listen 80;
	server_name yourwebsite.org;
	return 301 $scheme://yourwebsite.com$request_uri;
}

Désormais, chaque fois que vos clients accèdent à votresiteweb.net ou votresiteweb.org , le système les redirige vers votresiteweb.com à la place.

Enregistrez et fermez vos fichiers de configuration après vos modifications et redémarrez les deux nginx etphp-fpm pour que ces modifications soient mises en ligne.


Linux
  1. nginx - 413 Entité de requête trop grande

  2. Comment créer un hôte virtuel Nginx (bloc serveur)

  3. Commande Linux ln

  4. Créer des hôtes virtuels CentOS NGINX

  5. Créer des redirections dans Nginx

Comment configurer les blocs de serveur Nginx sur CentOS 7

Comment configurer les blocs de serveur Nginx sur CentOS 8

Comment configurer les blocs de serveur Nginx sur Debian 9

Comment configurer les blocs de serveur Nginx sur Debian 10

Comment créer un serveur de streaming dans FreeBSD

Installer Nginx sur Ubuntu 18.04