Mon serveur Web (Ubuntu, Nginx) a des adresses IPv4 et IPv6 attribuées par l'hôte. Pour mon site Web, dois-je le lier uniquement à une adresse IPv6? Est-ce la voie standard recommandée? Ou dois-je utiliser les adresses IPv4 et IPv6?
Vous devez utiliser les adresses IPv4 et IPv6.
Presque tout le monde sur Internet possède actuellement une adresse IPv4, ou se trouve derrière un NAT quelconque) 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% d'Internet est compatible IPv6 , mais ce nombre augmente régulièrement à mesure que 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 en utilisant NAT à grande échelle, NAT64 ou d'autres solutions similaires pour la connectivité IPv4. Ce nombre devrait augmenter à mesure que l'espace d'adressage IPv4 est enfin épuisé. Ces utilisateurs auront généralement de meilleures performances sur IPv6.
Lorsque les FAI ont déployé à grande échelle NAT pour résoudre l'épuisement IPv4, les utilisateurs bloqués avec cela souffriront d'une fiabilité réduite de toutes leurs connexions Internet en raison des limites de connexion inhérentes à la grande échelle NAT passerelles. Par exemple, une page Web peut seulement charger certaines mais pas toutes ses ressources , laissant des icônes cassées où les images devraient être, des styles et des scripts manquants, etc. Ceci est similaire à la connexion limiter l'épuisement 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).
Étant donné qu'IPv6 est la destination d'Internet, l'activation de votre site Web IPv6 vous place désormais en tête du jeu et vous permet de résoudre les problèmes bien avant qu'ils ne deviennent graves.
Par défaut avec Linux et nginx, vous pouvez vous lier à la fois à IPv4 et IPv6 en même temps en en changeant vos directives listen
en:
listen [::]:80;
listen 80;
Ou, pour les sites SSL:
listen [::]:443 ssl;
listen 443 ssl;
Liez aux deux!
Nous avions un IIS site Web dont le code se faisait une référence interne à lui-même, en utilisant le nom DNS que le client avait utilisé. Ce processus échouait toujours.
Un autre symptôme était qu'un navigateur fonctionnant localement sur le serveur ne pouvait pas trouver le site Web par le nom du serveur, uniquement par l'adresse IPv4. C'est, http://192.168.55.139
fonctionnerait, mais http://myhost
échouerait. En utilisant ping myhost
renverrait, par défaut, l'adresse IPv6 (ping myhost -4
renverrait l'adresse IPv4).
Le correctif consistait à ouvrir IIS et à modifier les liaisons du site Web pour se lier à l'adresse IPv6, ainsi qu'à l'adresse IPv4.