— C'est qui Deuchnord ?
— C'est moi.Un début de discussion tout à fait normal chez Les-Tilleuls.coop
Hier soir, j'indiquais brièvement et en 280 caractères que ce site avait subi une indisponibilité dans certaines situations. Pour être plus précis, cela arrivait notamment quand on tentait de venir sur tech.deuchnord.fr
avec Safari et qu'on utilisait le réseau mobile d'Orange.
Autant vous dire que quand j'ai découvert ça, je ne comprenais pas tout. C'est avec l'aide d'un collègue que j'ai fini par trouver le coupable : la configuration du serveur Nginx !
Quand on installe Nginx pour la première fois sur son serveur, il crée un fichier par défaut qui ressemble à ceci :
server {
# ...
listen 80;
# ...
}
Tel quel, on pourrait comprendre qu'une fois chargé, Nginx écoutera sur le port 80 (port standard dédié au protocole HTTP à la base du Web), et puis c'est marre. Spoiler : non, c'est pas le cas.
Ou pour être plus précis, Nginx ouvre bien le port 80 pour écouter ce qu'il se passe dessus, mais il le fait sur l'adresse IPv4 uniquement.
Si votre serveur possède aussi une adresse IPv6, vous devrez aussi indiquer à Nginx d'ouvrir le port sur ce protocole, autrement, il n'écoutera pas dessus !
Pour faire cela, rien de plus simple, il suffit d'éditer votre fichier et d'ajouter la directive suivante dans la section server
:
listen [::]:80;
Notez bien les deux signes :
entre crochets, suivis d'un nouveau signe :
.
Une fois cette modification faite, rechargez la configuration (service nginx reload
sous Debian), et votre site sera désormais bien disponible sur les adresses IPv6 !
Par défaut, Nginx et PHP sont un peu bavard et signalent au client Web leurs versions exactes. Le problème est qu'il suffit ensuite d'une petite recherche pour visualiser les failles de sécurité existantes dessus.
Cette astuce permet de demander à Nginx et à PHP de ne pas envoyer leurs numéros de version respectifs.