Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/08/2019, à 11: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, à 13: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).


Attention, les bouteilles vendues par Nestlé Waters sont contaminées au monoxyde de dihydrogène.

Hors ligne

#3 Le 21/08/2019, à 22: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, à 09: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/

Attention, les bouteilles vendues par Nestlé Waters sont contaminées au monoxyde de dihydrogène.

Hors ligne

#5 Le 22/08/2019, à 10: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, à 09: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 ... wink

Dernière modification par deude (Le 23/08/2019, à 10:42)

Hors ligne