Site en panne - l'application ne démarre pas, conflit de port 443 ?

J’ai installé Discourse sur un VPS Ubuntu 18.04 en suivant les instructions d’installation standard. Il fonctionne bien depuis quelques années, mais lorsque j’ai accédé à mon site cet après-midi, le certificat TLS avait expiré – et comme il utilise HSTS, cela signifiait que j’étais complètement bloqué. Facile, j’ai pensé, je me connecte en SSH au serveur, j’installe les mises à jour (juste au cas où), j’exécute ./launcher rebuild app, et tout rentrera dans l’ordre.

Non, ça n’a pas marché comme ça ; j’ai eu une page “oops”. J’ai donc décidé de redémarrer le système, et maintenant j’ai une page 502 lorsque j’essaie d’y accéder. Je ne peux pas démarrer app :

root@talk:/var/discourse# ./launcher start app
x86_64 arch detected.

starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (e5db356e19c947c3e1e20a337aea7ee4bdcfa9bc5f3eac485e76439f3ed3a0e9): Bind for 0.0.0.0:443 failed: port is already allocated
Error: failed to start containers: app

…et il y a effectivement quelque chose qui écoute sur le port 443 :

root@talk:/var/discourse# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      906/docker-proxy    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      427/systemd-resolve 
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      918/docker-proxy    
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      892/docker-proxy    
tcp6       0      0 :::9936                 :::*                    LISTEN      578/sshd            
udp        0      0 127.0.0.53:53           0.0.0.0:*                           427/systemd-resolve 

Je suis bloqué – que devrais-je vérifier ensuite ?

3 « J'aime »

Cela fait longtemps que vous n’avez pas fait de reconstruction ? Y a-t-il eu des erreurs ? A-t-il dit quelque chose sur la mise à niveau de postgres ? Peut-être reconstruire à nouveau.

2 « J'aime »

Une autre chose que vous pourriez vérifier est si un autre conteneur Discourse est en cours d’exécution, par exemple, import. L’exécution de la commande suivante et, s’il y a des conteneurs supplémentaires, l’examen des colonnes status et ports répondra à cette question :

docker container ls
2 « J'aime »

J’ai maintenu le site à jour ; je me souviens de la mise à niveau de postgres il y a quelque temps et je m’en suis occupée à ce moment-là. Je ne me souviens pas avoir vu quoi que ce soit à ce sujet cette fois-ci, mais il est assez facile de relancer une reconstruction. Mais en faisant cela, j’ai vu :

… et en effet, import est en cours d’exécution. Je l’ai donc arrêté, et une fois la reconstruction terminée, le site est revenu en ligne.

Et le certificat Let’s Encrypt est renouvelé (il semble que plusieurs aient été émis aujourd’hui, ce qui est un peu problématique), donc tout est de retour maintenant. Merci pour la réponse rapide.

3 « J'aime »

Alors vous voulez.\n\n ./launcher destroy import

3 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.