⚠ La porta 443 di questo computer non sembra essere accessibile tramite il nome host: metabolism.logophilia.eu ----

Ciao, ricevo l’errore indicato nell’oggetto (vedi anche sotto) dopo aver ottenuto “ Le porte 80 e 443 sono libere per l’uso” durante l’inizializzazione. Il DNS è configurato, SSL impostato, il sito web è accessibile dall’esterno (fai una prova tu stesso), l’output di curl (truncato) è riportato di seguito, quindi è accessibile anche dalla macchina stessa. Non mi vengono in mente altre idee su cosa possa mancare. Grazie per qualsiasi suggerimento.

PS. AlmaLinux 10.2 - 6.12.0-211.7.4.el10_2.x86_64

# ./discourse-setup  
→ Controllo aggiornamenti immagine procedura guidata di configurazione... 
→ Avvio procedura guidata di configurazione di Discourse... 
 
 
 ___  _ 
|   \(_)___ __ ___ _  _ _ _ ___ ___ 
| |) | (_-\< _/ _ \ || | '_(_-\< -_) 
|___/|_/__/\__\___/\_,_|_| /__/\___| 
                       Procedura guidata di configurazione 
 
 
→ Questa procedura ti aiuterà a configurare l'installazione di Discourse. 
→ Premi Ctrl+C in qualsiasi momento per annullare. 
 
── Controlli di sistema ── 
 
[1/5] Verifica requisiti di sistema 
✓ Eseguito come root 
✓ Docker è disponibile 
✓ Memoria: 8GB, CPU: 4 core 
 
── Configurazione ── 
 
[2/5] Preparazione configurazione 
✓ Le porte 80 e 443 sono libere per l'uso 
→ Creazione nuova configurazione... 
→ Creazione nuova configurazione dal modello... 
 
── Impostazioni del sito ── 
 
[3/5] Inserisci i dettagli del tuo sito 
 
Indirizzo email per gli account amministratore(i)? 
eduard.pech@logophilia.eu▌ 
 
Hai un nome di dominio per il tuo Discourse? 
▸ Sì      No 
 
Hostname per il tuo Discourse? 
metabolism.logophilia.eu▌ 
 
Configurare SMTP per l'invio di email? (Richiede credenziali SMTP) 
  Sì    ▸ No 
 
 
── Revisione configurazione ── 
 
 
╭────────────────────────────────────────────╮ 
│                                            │ 
│  Hostname       metabolism.logophilia.eu   │ 
│  Email admin    eduard.pech@logophilia.eu  │ 
│  SMTP           (non configurato)          │ 
│  Let's Encrypt  Abilitato                  │ 
│                                            │ 
╰────────────────────────────────────────────╯ 
 
 
Sembra corretto? 
▸ Sì      No 
→ Rilevati 8GB di memoria e 4 core CPU 
→ Impostazione db_shared_buffers = 2048MB 
→ Impostazione UNICORN_WORKERS = 8 
 
── Validazione rete ── 
 
[4/5] Verifica configurazione dominio 
→ Controllo del nome di dominio... 
⚠ La porta 443 di questo computer non sembra essere accessibile tramite l'hostname: metabolism.logophilia.eu 
⚠ Anche la connessione a http://metabolism.logophilia.eu (porta 80) fallisce. 
 
Questo suggerisce che metabolism.logophilia.eu risolve a un indirizzo IP che non raggiunge questa 
macchina su cui stai installando Discourse. 
 
La prima cosa da fare è verificare che metabolism.logophilia.eu risolva all'indirizzo IP di questo server. 
Di solito si fa questo nello stesso posto in cui è stato acquistato il dominio. 
 
Se sei sicuro che l'indirizzo IP si risolva correttamente, potrebbe essere un problema del firewall. 
Una ricerca sul web per «apri le porte IL TUO SERVIZIO CLOUD» potrebbe aiutare. 
 
Questo strumento è progettato solo per le installazioni più standard. Se non riesci a risolvere 
il problema sopra, dovrai modificare manualmente containers/app.yml e poi digitare: 
 
    ./launcher rebuild app 
 
 
✗ Verifica DNS fallita per metabolism.logophilia.eu 
[root@logophilia discourse]# dig metabolism.logophilia.eu 
 
; <<<>>> DiG 9.18.33 <<<>>> metabolism.logophilia.eu 
;; opzioni globali: +cmd 
;; Risposta ricevuta: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36726 
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 
 
;; SEZIONE PSEUDO OPT: 
; EDNS: versione: 0, flags:; udp: 512 
;; SEZIONE DOMANDA: 
;metabolism.logophilia.eu.      IN      A 
 
;; SEZIONE RISPOSTA: 
metabolism.logophilia.eu. 300   IN      A       75.119.134.68 
 
;; Tempo di query: 8 msec 
;; SERVER: 213.136.95.10#53(213.136.95.10) (UDP) 
;; ORA: Sab Giu 06 04:52:23 CEST 2026 
;; DIMENSIONI MSG ricevute: 69 
 
[root@logophilia discourse]# curl -v https://metabolism.logophilia.eu 
* Host metabolism.logophilia.eu:443 risolto. 
* IPv6: (nessuno) 
* IPv4: 75.119.134.68 
*   Tentativo di connessione a 75.119.134.68:443... 
* ALPN: curl offre h2,http/1.1 
* TLSv1.3 (IN), handshake TLS, Client hello (1): 
*  CAfile: /etc/pki/tls/certs/ca-bundle.crt 
*  CApath: nessuno 
* TLSv1.3 (IN), handshake TLS, Server hello (2): 
* TLSv1.3 (IN), TLS change cipher, Change cipher spec (1): 
* TLSv1.3 (IN), handshake TLS, Encrypted Extensions (8): 
* TLSv1.3 (IN), handshake TLS, Certificate (11): 
* TLSv1.3 (IN), handshake TLS, CERT verify (15): 
* TLSv1.3 (IN), handshake TLS, Finished (20): 
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): 
* TLSv1.3 (OUT), handshake TLS, Finished (20): 
* Connessione SSL utilizzando TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS 
* ALPN: server accetta http/1.1 
* Certificato del server: 
*  soggetto: CN=metabolism.logophilia.eu 
*  data inizio: 6 Giu 00:26:43 2026 GMT 
*  data scadenza: 4 Set 00:26:42 2026 GMT 
*  subjectAltName: host «metabolism.logophilia.eu» corrisponde al certificato «metabolism.logophilia.eu» 
*  emittente: C=US; O=Let's Encrypt; CN=YR2 
*  Verifica certificato SSL OK. 
*   Livello certificato 0: Tipo chiave pubblica RSA (2048/112 Bits/secBits), firmato con sha256WithRSAEncryption 
*   Livello certificato 1: Tipo chiave pubblica RSA (2048/112 Bits/secBits), firmato con sha256WithRSAEncryption 
*   Livello certificato 2: Tipo chiave pubblica RSA (4096/152 Bits/secBits), firmato con sha256WithRSAEncryption 
*   Livello certificato 3: Tipo chiave pubblica RSA (4096/152 Bits/secBits), firmato con sha256WithRSAEncryption 
* Connesso a metabolism.logophilia.eu (75.119.134.68) porta 443 
* utilizzando HTTP/1.x 
> GET / HTTP/1.1 
> Host: metabolism.logophilia.eu 
> User-Agent: curl/8.12.1 
> Accept: */* 
>  
* Richiesta completamente inviata 
* TLSv1.3 (IN), handshake TLS, Newsession Ticket (4): 
* TLSv1.3 (IN), handshake TLS, Newsession Ticket (4): 
< HTTP/1.1 200 OK 
< Data: Sab, 06 Giu 2026 02:52:36 GMT 
< Server: Apache 
< Last-Modified: Sab, 06 Giu 2026 01:25:19 GMT 
< ETag: "1325f-6538ba67ff892" 
< Accept-Ranges: bytes 
< Content-Length: 78431 
< Content-Type: text/html; charset=UTF-8 
<  
<!doctype html> 
<html lang="en" data-bs-theme="auto"> 
<head> 
  <title> 
    metabolism.logophilia.eu &mdash;  Pagina di benvenuto dominio per  </title> 
  <meta charset="utf-8">
……


Ciao,

Ho controllato il tuo sito web di persona. Sembra che il tuo provider di hosting stia occupando la porta 443 per visualizzare questa pagina di benvenuto. Dovrai scoprire come liberare completamente le porte 443/80 in modo che Discourse possa controllarle.

L’ho già fatto: il VPS è gestito con Virtualmin ed è solo una spunta. Purtroppo, quando deseleziono “sito web abilitato”, non riesco a eseguire curl sulle porte 443/80 dall’host, e la configurazione di Discourse continua a lamentarsi dello stesso errore. Quindi ho pensato di riabilitare il sito web, così almeno posso dimostrare che l’handshake SSL funziona.
Come puoi vedere nel mio post originale, la configurazione di Discourse afferma inizialmente che la porta 443 è disponibile. È la mia prima installazione e interpreto questo come: tutto verde. Allora perché la configurazione “cambia idea”?
Comunque, non ho davvero bisogno di capire ogni dettaglio. Sto solo dicendo: con Apache disabilitato sul sottodominio, l’esito della configurazione di Discourse è lo stesso.

Grazie per il tempo dedicato; se c’è altro che posso fornire per chiarire, farò (quasi) tutto il possibile.

Ho avuto lo stesso problema qui (sul mio server domestico):

Credo che la soluzione sia semplicemente eseguire questo comando se sei assolutamente sicuro che il DNS sia corretto e le porte funzionino correttamente.

./install-discourse --skip-connection-test

Grazie, sembra che abbia funzionato! :purple_heart:

Lo script va oltre il 5/5 ora e sembra stia caricando/installando molte altre cose. Il certificato SSL è ora errato; immagino stia attendendo il timeout del TTL o forse sarà tutto a posto una volta terminata la configurazione.

Anche se non ho davvero idea di come funzionino Discourse, Docker o persino Ruby… la parte relativa al DNS non è mai un problema :slight_smile: Grazie ancora!

Vedo che è già contrassegnato come soluzione. Ma ho un’altra domanda, se posso.

So che è necessario Postgres, ma non è menzionato in

https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md

Quindi pensavo che l’immagine Docker includesse già Postgres installato. Potreste chiarire se devo installare Postgres sul VPS? Perché le istruzioni di installazione non lo menzionano.

… o forse Docker include Postgres, ma lo script è fallito in qualche modo? Perché si interrompe alla fine:

........
I, [2026-06-06T04:23:49.114769 #1]  INFO -- : File > /etc/runit/1.d/install-ssl  chmod: +x  chown: 
I, [2026-06-06T04:23:49.114999 #1]  INFO -- : Sostituendo # dopo ssl con if [ -z "$DISABLE_LETSENCRYPT" ] || [ -n "$ENABLE_LETSENCRYPT" ]; then
  /usr/local/bin/configure-ssl
  exec /usr/local/bin/configure-letsencrypt
fi
# dopo ssl in /etc/runit/1.d/install-ssl
I, [2026-06-06T04:23:49.125964 #1]  INFO -- : File > /usr/local/bin/configure-ssl  chmod: +x  chown: 
I, [2026-06-06T04:23:49.127031 #1]  INFO -- : > curl https://raw.githubusercontent.com/acmesh-official/acme.sh/3.0.6/acme.sh > /opt/acme.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  215k  100  215k    0     0   635k      0 --:--:-- --:--:-- --:--:--  637k
I, [2026-06-06T04:23:49.514883 #1]  INFO -- : > chmod +x /opt/acme.sh
I, [2026-06-06T04:23:49.554670 #1]  INFO -- : File > /usr/local/bin/configure-letsencrypt  chmod: +x  chown: 
I, [2026-06-06T04:23:49.596808 #1]  INFO -- : File > /usr/local/bin/letsencrypt  chmod: +x  chown: 
I, [2026-06-06T04:23:49.598926 #1]  INFO -- : > echo "Inizio dei comandi personalizzati"
Inizio dei comandi personalizzati
I, [2026-06-06T04:23:49.605809 #1]  INFO -- : > echo "Fine dei comandi personalizzati"
Fine dei comandi personalizzati
I, [2026-06-06T04:23:49.608842 #1]  INFO -- : Terminazione dei processi asincroni
I, [2026-06-06T04:23:49.609015 #1]  INFO -- : Invio di INT a HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 44
I, [2026-06-06T04:23:49.609157 #1]  INFO -- : Invio di TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 111
2026-06-06 04:23:49.609 UTC [44] LOG:  richiesta di arresto rapido ricevuta
111:signal-handler (1780719829) SIGTERM ricevuto, programmazione dell'arresto...
2026-06-06 04:23:49.612 UTC [44] LOG:  interruzione di eventuali transazioni attive
2026-06-06 04:23:49.619 UTC [44] LOG:  worker in background "logical replication launcher" (PID 58) uscito con codice di uscita 1
2026-06-06 04:23:49.623 UTC [53] LOG:  arresto in corso
2026-06-06 04:23:49.634 UTC [53] LOG:  checkpoint in avvio: arresto immediato
111:M 06 Jun 2026 04:23:49.683 * Arresto richiesto dall'utente...
111:M 06 Jun 2026 04:23:49.683 * Salvataggio dell'ultimo snapshot RDB prima dell'uscita.
111:M 06 Jun 2026 04:23:49.698 * DB salvato su disco
111:M 06 Jun 2026 04:23:49.700 # Redis è ora pronto per uscire, arrivederci...
2026-06-06 04:23:49.711 UTC [53] LOG:  checkpoint completato: scritti 87 buffer (0.0%); 0 file WAL aggiunti, 0 rimossi, 0 riciclati; write=0.041 s, sync=0.022 s, total=0.088 s; sync files=52, longest=0.008 s, average=0.001 s; distance=86 kB, estimate=86 kB
2026-06-06 04:23:49.735 UTC [44] LOG:  il sistema di database è stato arrestato