Mon serveur web (Ubuntu, Nginx) possède à la fois des adresses IPv4 et IPv6 attribuées par l'hébergeur. Pour mon site web, devrais-je le lier uniquement à une adresse IPv6? Est-ce la méthode standard recommandée? Ou devrais-je utiliser à la fois des adresses IPv4 et IPv6?
Réponses
Trop de publicités?Utilisez à la fois IPv4 et IPv6
Vous devriez utiliser à la fois des adresses IPv4 et IPv6.
Pratiquement tout le monde sur Internet a actuellement une adresse IPv4, ou est derrière un NAT de quelque sorte, et peut accéder aux ressources IPv4.
Cependant, au moment de la rédaction, seulement environ 0.7% 2.3% 3.8% 6.5% 9% 12% 19% 22% 26% 32% d'Internet est capable d'IPv6, mais ce nombre augmente régulièrement alors qu'IPv6 commence à se déployer dans le monde entier.
Dans très peu d'endroits, les FAI fournissent principalement IPv6 ou uniquement IPv6 aux clients résidentiels et utilisent le NAT à grande échelle, le NAT64 ou d'autres solutions similaires pour la connectivité IPv4. Ce nombre devrait augmenter à mesure que l'espace d'adressage IPv4 sera enfin épuisé. Ces utilisateurs auront généralement de meilleures performances via IPv6.
Là où les FAI ont déployé un NAT à grande échelle pour résoudre l'épuisement d'IPv4, les utilisateurs coincés avec cela souffriront d'une fiabilité réduite de toutes leurs connexions Internet en raison des limites de connexion inhérentes dans les passerelles NAT à grande échelle. Par exemple, une page web pourrait ne charger que certains mais pas tous ses ressources, laissant des icônes brisées là où les images devraient être, des styles et scripts manquants, etc. Cela est similaire à l'épuisement des limites de connexion sur un routeur domestique, mais affectant tous les utilisateurs du FAI de manière intermittente et apparemment aléatoire. Si vous voulez que votre site soit fiable pour ces utilisateurs, vous devez le servir via IPv6 (et le FAI doit avoir déployé IPv6).
Comme IPv6 est l'avenir d'Internet, rendre votre site web compatible avec IPv6 vous donne une longueur d'avance et vous permet de résoudre les problèmes bien avant qu'ils ne deviennent sérieux.
Configurer nginx
Par défaut avec Linux et nginx, vous pouvez lier simultanément à la fois IPv4 et IPv6 en modifiant vos directives listen
à :
listen [::]:80;
listen 80;
Ou, pour les sites SSL :
listen [::]:443 ssl;
listen 443 ssl;
Lié aux deux!
Nous avions un site web IIS dont le code faisait référence à lui-même en utilisant le nom DNS que le client avait utilisé. Ce processus échouait systématiquement.
Un autre symptôme était qu'un navigateur s'exécutant localement sur le serveur ne pouvait pas trouver le site web par le nom du serveur, seulement par l'adresse IPv4. Autrement dit, http://192.168.55.139
fonctionnerait, mais http://myhost
échouerait. En utilisant ping myhost
, l'adresse IPv6 était renvoyée par défaut (ping myhost -4
renverrait l'adresse IPv4).
La solution a été d'ouvrir IIS et de modifier les liaisons du site web pour se lier à l'adresse IPv6, ainsi qu'à l'adresse IPv4.