Sono un po’ confuso su quando una nuova installazione di Discourse basata su Docker esponga la porta 80. Lasciate che vi spieghi…
Quando eseguo ./discourse-setup, presumo che le domande iniziali (nome host, indirizzo e-mail, ecc.) vengano presentate PRIMA che il contenitore venga creato e quindi prima che Discourse esponga la porta 80. È corretto?
Se è così, non si presenta un po’ di un paradosso quando si inserisce un nome host?
Ho creato il mio record A (ed è raggiungibile tramite ping, tramite nome host). Ma la porta 80 non è aperta. Penso di capire il motivo, ovvero che il contenitore non è ancora stato creato.
Ma se è così, come può funzionare quella verifica iniziale del nome host, se la verifica avviene prima che il contenitore venga creato?
Ovviamente ho un’ipotesi errata qui, quindi qualcuno può gentilmente chiarire la situazione?
discourse-setup esegue nc, che apre la porta per il test.
Se stai eseguendo un sistema operativo che non ha nc installato, il test fallirà per questo motivo. Puoi verificare se la mancanza di nc è il problema oppure semplicemente dare per scontato che sai cosa stai facendo e che funzionerà senza problemi.
Dare per scontato di sapere cosa sto facendo si è rivelato generalmente una scelta sbagliata! Ma ora ignoro l’avvertimento e vado avanti.\n
Penso che incontrerò comunque un problema, dato che presumo che nc dovrebbe permettere l’esposizione della porta 80 (non ho ancora un firewall), ma mi occuperò di ciò più tardi.
Beh, è proprio per questo che vengono eseguiti quei test. Ma funzionano solo per la maggior parte delle persone e per la maggior parte del tempo.
Se digiti nc nella riga di comando e ricevi un messaggio command not found, puoi assumere che il test sia difettoso (il che non significa che il tuo nome di dominio non risolva verso il tuo server o che la porta non sia accessibile).
Ho riscontrato questo problema quando ho configurato il mio primo server e, in modo fastidioso, si è risolto da solo dopo alcune ore. Un problema del genere spesso suggerisce un problema di replicazione DNS, ma sto utilizzando CloudFlare DNS (TTL basso) e riesco a fare il ping tramite il nome host senza problemi.
L’installazione di Docker è andata a buon fine e nc è disponibile.
docker ps suggerisce che le porte 80 e 443 sono entrambe indirizzate al contenitore.
sof -i -P -n riporta che docker-pr sta ascoltando entrambe le porte.
Non ho mai capito perché questo problema si sia verificato con la prima installazione, ma ora che è ricomparso procederò con un’analisi approfondita per risolvere il problema. Non ho ancora capito la causa, ma sospetto che si tratti di una configurazione di base.
La nuvola arancione è attiva? Se Cloudflare funge solo da DNS, non ci sono problemi, ma se si trova nel mezzo non potrai far funzionare Let’s Encrypt, che è proprio lo scopo del test.
La Nuvola Arancione è spenta. Non voglio darti ulteriore disturbo con questo, Jay. È una piccola sfida di risoluzione dei problemi interessante e la risolverò.
Sono abbastanza certo che non si tratti di replica DNS, dato che posso accedere al sito da numerosi dispositivi tramite nome host (tramite WiFi, rete cellulare, ecc.). Farò un aggiornamento qui se e quando verrà risolto.