#1 Le 21/08/2019, à 10:27
- deude
Make_sock: could not bind to address [::]:80 - Letsencrypt et Varnish
Bien le bonjour,
Je rencontre une nouvelle erreur depuis quelques jours sur mon serveur Apache2, avec un résultat qui est : ERR_CONNECTION_CLOSED sur l'ensemble de mes sites. Cette erreur disparaît après un simple restart de mon serveur Apache, avant de revenir quelques heures plus tard / le lendemain. A priori, après étude des logs, le problème reviendrait au moment ou Letsencrypt tente de faire son travail. J'ai installé le cache Varnish il y a peut, et le problème est donc surement lié à cela.
L'erreur en détail :
AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:9
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Bref, j'ai beau fouiller les internets (l'erreur semble commune), je ne trouve pas la solution, je fais donc appel à vous.
Voici quelques infos sur ma config :
ports.conf
Listen 8080
<IfModule ssl_module>
Listen 443
NameVirtualHost *:443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
NameVirtualHost *:443
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
000-default-le-ssl.conf :
<IfModule mod_ssl.c>
<VirtualHost *:443>
...
ServerName mondomaine.fr
ProxyPreserveHost On
ProxyPass / http://xx.xx.xx.xx:xx/
RequestHeader set X-Forwarded-Port "443"
RequestHeader set X-Forwarded-Proto "https"
Pendant l'erreur :
[b]user@vpsxxxxx:/# netstat -antp | grep 80[/b]
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1426/varnishd
tcp 0 0 xx.xx.xx.xx:55406 xx.xx.xx.xx:80 TIME_WAIT -
tcp6 0 0 :::80 :::* LISTEN 1426/varnishd
[b]user@vpsxxxxx:/# sudo netstat -ltnp | grep :80[/b]
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1426/varnishd
tcp6 0 0 :::80 :::* LISTEN 1426/varnishd
Après restart, plus d'erreur :
[b]user@vpsxxxxx:/# netstat -antp | grep 80[/b]
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1426/varnishd
tcp 1 0 xx.xx.xx.xx:57484 xx.xx.xx.xx:80 CLOSE_WAIT 11127/apache2
tcp 0 0 xx.xx.xx.xx:57606 xx.xx.xx.xx:80 TIME_WAIT -
tcp 1 0 xx.xx.xx.xx:57336 xx.xx.xx.xx:80 CLOSE_WAIT 12048/apache2
tcp 1 0 xx.xx.xx.xx:57258 xx.xx.xx.xx:80 CLOSE_WAIT 11886/apache2
tcp 1 0 xx.xx.xx.xx:57494 xx.xx.xx.xx:80 CLOSE_WAIT 11413/apache2
tcp 1 0 xx.xx.xx.xx:56898 xx.xx.xx.xx:80 CLOSE_WAIT 11004/apache2
tcp6 0 0 :::8080 :::* LISTEN 3887/apache2
tcp6 0 0 :::80 :::* LISTEN 1426/varnishd
[b]user@vpsxxxxx:/# sudo netstat -ltnp | grep :80[/b]
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1426/varnishd
tcp6 0 0 :::8080 :::* LISTEN 3887/apache2
tcp6 0 0 :::80 :::* LISTEN 1426/varnishd
N'hésitez pas à me dire s'il faut d'autres éléments de configuration pour mieux comprendre mon installation.
Hors ligne
#2 Le 21/08/2019, à 12:17
- bruno
Re : Make_sock: could not bind to address [::]:80 - Letsencrypt et Varnish
Bonjour,
Je ne comprends pas comment le service apache arrive à redémarrer avec la première erreur :
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
qui signifie qu'apache n'a pas pu démarrer acr un autre service est en écoute sur le port 80 (sen ipv4 et ipv6).
C'est peut-être effectivement dû à une tentative de renouvellement de certificat par letsencrypt avec un challenge HTTP-01 (qui ne peut se faire que sur le port 80).
#3 Le 21/08/2019, à 21:00
- deude
Re : Make_sock: could not bind to address [::]:80 - Letsencrypt et Varnish
Merci pour le retour bruno !
Ça signifie que Letsencrypt et le cache Varnish ne sont pas compatibles ? Je comprends pas trop non plus pourquoi un simple restart permet de relancer le site pendant plusieurs heures sans soucis ...
Hors ligne
#4 Le 22/08/2019, à 08:36
- bruno
Re : Make_sock: could not bind to address [::]:80 - Letsencrypt et Varnish
J'ai relu attentivement ton message et je pense que ta configuration Apache/Varnish n'est pas correcte.
Les requêtes publiques doivent être transmises à Varnish qui renvoie à Apache en local sur sur le port 8080, exemple :
ports.conf :
Listen 127.0.0.1:8080
hôte virtuel sur le port 8080 :
<VirtualHost 127.0.0.1:8080>
hôte virtuel sur le port 443 :
<VirtualHost *:443>
…
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:80/
ProxyPassReverse / http://127.0.0.1:80/
#5 Le 22/08/2019, à 09:17
- deude
Re : Make_sock: could not bind to address [::]:80 - Letsencrypt et Varnish
Merci pour la réflexion !
J'ai tenté cette configuration en modifiant les données hôte sur le site concerné par le cache varnish, et j'ai une erreur sur ce dernier mais les autres sites fonctionnent.
L'erreur rencontré sur le site principal :
Error 503 Backend fetch failed
Backend fetch failed
Guru Meditation:
XID: 426743
Varnish cache server
Je vais tenté de le rétablir en faisant quelques modifications, et je verrais si l'erreur principale est à nouveau présente ce soir ou demain matin !
Hors ligne
#6 Le 23/08/2019, à 08:37
- deude
Re : Make_sock: could not bind to address [::]:80 - Letsencrypt et Varnish
L'erreur est toujours présente du coup.
Néanmoins, j'ai trouvé deux sujets qui parlent de mon problème :
https://bash-prompt.net/guides/apache-varnish/
https://community.letsencrypt.org/t/ssl … sh/62500/2
Difficile à assimiler pour moi, mais je comprend un peu mieux l'origine du problème. Je vais creuser tout ça ...
Dernière modification par deude (Le 23/08/2019, à 09:42)
Hors ligne