Per motivi di sicurezza, ritengo che sarebbe meglio se, per impostazione predefinita, i forum Discourse non siano visibili quando si naviga direttamente all’indirizzo IP tramite un browser.
Alcuni motivi:
- Consente l’utilizzo del sito senza HTTPS, sia per gli utenti che per la configurazione iniziale da parte dell’amministratore.
- Espone l’indirizzo del server di origine, il che è negativo se si utilizza Cloudflare o servizi simili per proteggere l’IP di origine da attacchi DDoS o tentativi di hacking del server, nel caso in cui gli hacker ritengano il server di alto valore. Ci sono persone che eseguono bot che scansionano tutti gli intervalli di IP posseduti dagli hosting provider.
Inoltre, l’installer di Discourse ora verifica che il dominio o sottodominio sia configurato correttamente; altrimenti non procede con l’installazione.
Tutto ciò che è necessario aggiungere alla fine del file /etc/nginx/conf.d/discourse.conf (all’interno del contenitore Docker) è:
server {
listen 80;
server_name 1.1.1.1;
server_tokens off;
return 404;
}
Dove 1.1.1.1 è l’indirizzo IP pubblico del tuo server. Probabilmente esiste un modo più elegante per includere l’indirizzo IP rispetto all’hardcoding. Ho provato alcune soluzioni, ma non sono riuscito a farle funzionare.
Funziona bene per me (incluso con il proxy di Cloudflare); non riesco a pensare a molti casi in cui consentire l’accesso web diretto tramite l’IP sia utile o necessario. Sembra una pratica abbastanza comune disabilitare questa possibilità. Sono comunque felice di ascoltare eventuali ragioni per cui non si dovrebbe fare questo!