Sito non disponibile - l'app non si avvia, conflitto porta 443?

Ho Discourse installato su un VPS Ubuntu 18.04 seguendo le istruzioni di installazione standard. Funziona bene da un paio d’anni, ma quando sono andato sul mio sito questo pomeriggio, il certificato TLS era scaduto e, poiché utilizza HSTS, ciò significa che ero completamente bloccato fuori dal sito. Facile, ho pensato, SSH sul server, installa gli aggiornamenti (solo per sicurezza), esegui ./launcher rebuild app e sarà tutto a posto, amico.

No, non ha funzionato così; ho ottenuto una pagina “ops”. Quindi ho deciso di riavviare il sistema e ora ottengo una pagina 502 quando provo a navigare lì. Non riesco ad avviare 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

…e c’è effettivamente qualcosa in ascolto sulla porta 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 

Temo di essere bloccato: cosa dovrei controllare dopo?

3 Mi Piace

È passato molto tempo dall’ultima ricostruzione? Ci sono stati errori? Ha detto qualcosa sull’aggiornamento di postgres? Forse ricostruisci di nuovo.

2 Mi Piace

Un’altra cosa che potresti controllare è se è in esecuzione un container Discourse diverso, ad esempio import. L’esecuzione del seguente comando e, se ci sono container aggiuntivi, l’analisi delle colonne di stato e delle porte risponderà a questa domanda:

docker container ls
2 Mi Piace

Ho mantenuto il sito aggiornato; ricordo l’aggiornamento di postgres qualche tempo fa e me ne sono occupato allora. Non ricordo di aver visto nulla al riguardo questa volta, ma è abbastanza facile eseguire un’altra ricompilazione. Ma mentre lo facevo, ho visto:

…e infatti import è in esecuzione. Quindi l’ho fermato e, una volta terminata la ricompilazione, il sito è tornato online.

E il certificato Let’s Encrypt è stato rinnovato (sembra che ne siano stati emessi diversi oggi, il che è un po’ problematico), quindi ora è tutto a posto. Grazie per la rapida risposta.

3 Mi Piace

Allora vuoi.

  ./launcher destroy import
3 Mi Piace

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