Ciao,
Il nostro sito dovrebbe funzionare sia con HTTP che con HTTPS; dobbiamo proteggere il cookie (_forum_session). Attualmente il cookie ha solo il flag HttpOnly e manca il flag Secure. Come possiamo configurarlo anche con Secure?
Grazie
Ciao,
Il nostro sito dovrebbe funzionare sia con HTTP che con HTTPS; dobbiamo proteggere il cookie (_forum_session). Attualmente il cookie ha solo il flag HttpOnly e manca il flag Secure. Come possiamo configurarlo anche con Secure?
Grazie
Dovresti configurare il tuo sito per funzionare solo tramite HTTPS.
Non c’è modo di modificare nel codice di Discourse?
Ciao @mevaha
La tendenza nel web, da molti anni, è quella di utilizzare esclusivamente HTTPS.
In passato questo rappresentava un problema, finché organizzazioni come Let’s Encrypt (LE) non hanno iniziato a rilasciare certificati SSL gratuitamente e a fornire un meccanismo robusto per la gestione dei certificati.
Quando si utilizza LE (certbot) per configurare i certificati sul tuo sito, verranno impostati sia HTTP che HTTPS, e il traffico HTTP verrĂ reindirizzato automaticamente e completamente verso HTTPS.
Ovviamente, è possibile trovare un modo per far funzionare Discourse solo in HTTP, ma questa configurazione non sarà supportata, tranne che nell’ambiente di sviluppo di Discourse; poiché senza HTTPS, tutte le informazioni di accesso degli utenti, comprese le password, verrebbero trasmesse in chiaro attraverso la rete. Questo NON è supportato in produzione.
Pensala in questo modo: HTTPS è come indossare le cinture di sicurezza in auto. Chi sceglie di guidare senza cinture lo fa a proprio rischio e pericolo; di conseguenza, i produttori di automobili non produrranno più auto senza cinture di sicurezza.
Lo stesso vale per Discourse. Discourse è progettato per funzionare in modo sicuro in produzione; pertanto, la versione supportata di Discourse in produzione è quella che utilizza HTTPS.
Spero che questo chiarisca la situazione.
Scusa se non sono stato piĂą utile.
Grazie @neounix. Il nostro problema è che il certificato HTTPS è gestito dal load balancer e tra Discourse e il load balancer è aperto solo la porta 80. Abbiamo provato a reindirizzare HTTP a HTTPS senza successo; potresti gentilmente condividere con me il file di configurazione dei cookie in Discourse?
Grazie
Ciao @mevaha
Se è così, molto probabilmente hai un reverse proxy davanti al tuo load balancer (o come parte del tuo load balancer).
Lascia che ti spieghi.
Il reverse proxy (con load balancer, se ne hai uno) comunica con Discourse sul backend utilizzando HTTP.
Quindi hai ragione: Discourse comunica solo via HTTP, ma solo con il reverse proxy, non con il mondo esterno.
Quindi il flusso è questo:
UTENTI WEB <-----> HTTPS <-----> REVERSE PROXY <----> HTTP <----> LOAD BALANCER <----> DISCOURSE (DOCKER)
Di conseguenza, puoi esporre il tuo container Docker di DISCOURSE sulla porta 80 (solo HTTP), come stai suggerendo.
Tuttavia, sul lato web pubblico, hai bisogno di un reverse proxy che inoltri le richieste HTTPS al backend utilizzando HTTP.
Il tuo reverse proxy (con load balancer), se configurato correttamente, assicurerĂ che i cookie e gli header HTTP vengano trasmessi correttamente in entrambe le direzioni.
Spero che questo ti sia d’aiuto.
Se hai altre domande, chiedi pure.
Ti ricordo che, se potessi gentilmente fornire i dettagli tecnici esatti della tua architettura, sarebbe molto più facile assisterti; non abbiamo un’app di cristallo che lavori per noi ![]()
Mille grazie @neounix
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.