Catégories
Informatique

Rediriger les requêtes HTTPS d’un domaine alternatif vers son domaine principal en conservant les préfixes avec nginx

Depuis maintenant plusieurs années, j’utilise le nom de domaine mickaelgillot.xyz qui pointe vers plusieurs services hébergés sur un VPS chez Gandi.net, dont notamment le blog que vous êtes en train de lire. Mais récemment, j’ai également réservé d’autres domaines tels que mickaelgillot.fr et mickaelgillot.com ; principalement pour me prévenir de cyber-squat. Je me suis donc naturellement dit que je devrais rediriger ces domaines vers mon domaine principal ; quitte à les payer autant qu’ils servent à quelque chose. Mais je ne voulais pas simplement rediriger vers le domaine nu (naked domain (en) : domaine de deuxième niveau, sans préfixe) sans tenir compte de la requête ou du préfixe. Je voulais créer une totale isométrie entre ces domaines, de sorte que, quels que soient le sous-domaine et les paramètres de la requête, je redirige systématiquement vers son équivalent avec le TLD .xyz (top-level domain (en) : domaine de premier niveau). Par exemple, toto.mickaelgillot.fr/tata?foo=bar doit rediriger vers toto.mickaelgillot.xyz/tata?foo=bar. Et bien sûr, une requête HTTP doit systématiquement être redirigée vers la même requête en HTTPS. Aujourd’hui, c’est chose faite pour ma part et je vous propose de vous expliquer comment je m’y suis pris afin de vous permettre de le reproduire pour vos domaines.