Contenuto misto: La pagina a '\u003cURL\u003e' è stata caricata tramite HTTPS, ma ha richiesto un font non sicuro '\u003cURL\u003e'. Questa richiesta è stata bloccata; il contenuto deve essere servito tramite HTTPS
E 40 richieste per font dal gem discourse-fonts. Questa è una nuova installazione in cui Postgres e Redis sono in esecuzione su un server separato all’interno della rete locale e la connessione è “socketed” ma servita all’esterno tramite https, ovviamente. Ci sono threadsimili ma nessuna risposta chiara per me. Il controllo del CSS punta a wizard.scss (source-mapped). Qualche indizio?
Molto probabilmente no. Dove lo imposto? E perché dovrebbe essere necessario in primo luogo invece di far richiedere al CSS risorse statiche tramite https o riferimenti relativi?
FWIW - sul webserver rivolto all’esterno ho la tipica impostazione 301
Beh, nemmeno io. Non ho modificato nulla. Solo il normale launcher build app. Questi URL sembrano essere nel CSS elaborato, che ovviamente non ho toccato (né gli scss) in alcun modo. Non ho trovato nulla di https correlato nemmeno in app.yml, quindi… non lo so. Il force_https sembra risolvere il problema.
Dipende da come definiamo “necessario”. Attualmente potrebbe essere necessario aggirare il problema effettivo, ovvero che i file CSS compilati fanno riferimento a risorse statiche esplicitamente utilizzando lo schema http. Ma secondo me questo non dovrebbe essere necessario a lungo termine.
Necessario nel senso che è lo scopo di FORCE_HTTPS: è così che si dice a Discourse che viene servito in modo sicuro e che i link devono essere riscritti di conseguenza.
In questo caso, se si abilita force_https, si finirà con tutti gli URL degli asset che generano un errore R_SSL_PROTOCOL_ERROR se il dominio richiesto non ha un certificato installato. Per evitarlo, si installa un certificato per risolvere il problema del protocollo SSL.
Se invece si installa Discourse con il template sopra non commentato, l’URL degli asset del sito dovrebbe essere HTTPS insieme al protocollo dell’URL di base del sito. Inoltre, force https è invisibile nell’interfaccia utente di amministrazione.
Come menzionato nel post originale, nel mio caso il certificato e tutto il resto è corretto e valido, ma tutte le connessioni verso l’esterno sono gestite da un reverse-proxy (nginx, ovviamente ;-)), mentre la connessione a discourse avviene tramite socket Unix. Ciò significa che ho templates/web.socketed.template.yml
piuttosto che uno qualsiasi di quelli che menzioni. Tuttavia, questo non dovrebbe causare URL statici con uno schema http: esplicito codificato in modo fisso.