Ce probablement est la seule raison pour laquelle vous utilisez l'ancienne construction, ces jours -ci .
La raison pour laquelle vous voyez ceci est probablement que la valeur par défaut de ipv6only
modifiée dans nginx 1.3.4. Avant cela, il était par défaut à off
; dans les versions plus récentes, la valeur par défaut est on
.
Ceci interagit avec l'option de socket IPV6_V6ONLY sous Linux et avec des options similaires sur d'autres systèmes d'exploitation, dont les valeurs par défaut ne sont pas nécessairement prévisibles. Ainsi, l'ancienne construction était requise avant la version 1.3.4 pour garantir que vous écoutiez bien les connexions IPv4 et IPv6.
La modification de la valeur par défaut de nginx for ipv6only
garantit que la valeur par défaut du système d’exploitation pour les sockets à double pile n’est pas pertinente. Maintenant, nginx soit explicitement lié à IPv4, IPv6 ou les deux, sans jamais dépendre du système d'exploitation pour créer un socket double pile par défaut.
En effet, mes configurations nginx standard pour les versions antérieures à la version 1.3.4 ont la première configuration et les versions ultérieures à la version 1.3.4 ont toutes la deuxième configuration.
Cependant, comme relier un socket double pile est une chose uniquement sous Linux, mes configurations actuelles ressemblent davantage au premier exemple, mais sans ipv6only
ensemble, à savoir:
listen [::]:80;
listen 80;