Dove dovrei andare per impostare la variabile d'ambiente `DISCOURSE_ENABLE_CORS`?

1 Mi Piace

Credo che tu debba impostare
DISCOURSE_ENABLE_CORS: true
nel tuo app.yml (da qualche parte nella sezione env)

2 Mi Piace

Non dovrebbe impostare la variabile DISCOURSE_ENABLE_CORS per discourse?

1 Mi Piace

Non sono sicuro di cosa stai dicendo, ma prova a fare quello che è stato raccomandato. Sono abbastanza sicuro che puoi semplicemente fare un ./launcher destroy app;./launcher start app invece di una ricostruzione completa.

3 Mi Piace

Grazie per la tua risposta. Mi scuso per non essere stato abbastanza chiaro nel mio precedente messaggio.

Sto utilizzando un’istanza ospitata di Discourse e ho intenzione di incorporare Discourse nel mio sito web. Quando provo a ottenere l’oggetto contentDoument dell’iframe di Discourse incorporato, ho riscontrato il limite cross-origin. Nella pagina delle impostazioni di amministrazione, ho notato l’impostazione “cors origins” come mostrato nell’immagine dell’argomento. Quindi ho aggiunto il mio URL di origine di test, ma non ha funzionato. E ho notato il suggerimento che La variabile d'ambiente DISCOURSE_ENABLE_CORS deve essere impostata su true per abilitare CORS. Tuttavia, non riesco a trovare dove impostare DISCOURSE_ENABLE_CORS nelle impostazioni di amministrazione.
Vorrei sapere come impostare DISCOURSE_ENABLE_CORS, o se la mia configurazione cross-domain non funziona, è correlata a questa impostazione.

1 Mi Piace

L’embedding non è il mio forte, ma penso che dovresti impostarlo in /admin/customize/embedding invece di cambiare la variabile d’ambiente?

4 Mi Piace

Grazie per la tua risposta. Ci ho provato ma non ha funzionato.

1 Mi Piace

Se vuoi che ti aiutiamo devi spiegare cosa hai provato in dettaglio.

1 Mi Piace

Questa è la configurazione che ho in /admin/customize/embedding, ma non serve per il cross-origin.

Non credo che tu possa farlo.

Esiste un’impostazione del sito nascosta che consente l’incorporamento di un iframe, ma sospetto che non sia disponibile nei piani standard o business. Puoi contattare il tuo referente del supporto per chiedere.

Incorporare Discourse in un iframe non è ufficialmente supportato.

2 Mi Piace

iframe viene creato da uno script js ufficiale. Sto usando i codici forniti su /admin/customize/embedding, come di seguito:


Ho bisogno di mantenere le parti incorporate coerenti con lo schema di colori del mio sito web, quindi devo accedere all’iframe anche se l’iframe non è stato creato da me.

@mikeguo qual è la piattaforma del sito in cui stai cercando di incorporare i tuoi argomenti di Discourse?

Ad esempio, è un sito Wordpress o un blog Ghost?

Per favore, fornisci un URL a un post sul sito di destinazione.

Tutto ciò che posso vedere è questo (dallo screenshot del codice nel tuo argomento sopra):

https://e53c-185-143-220-5.eu.ngrok.io/

Quindi, ad esempio, ho utilizzato la variabile d’ambiente ‘DISCOURSE_ENABLE_CORS’ come descritto in questo post per visualizzare contenuti dal mio forum Discourse su una pagina del mio blog Ghost…

Tuttavia, la funzionalità che sembri cercare di utilizzare dal tuo codice postato sopra qui…

…sembra indicare che stai cercando di incorporare argomenti dal tuo forum Discourse COME POST sul tuo sito esterno, il che è un caso d’uso diverso.

Abbiamo bisogno che tu spieghi meglio cosa stai cercando di fare qui…

1 Mi Piace

Grazie mille per la tua spiegazione dettagliata.
https://algo.monster è il mio sito web in cui voglio incorporare Discourse. Nello specifico,
incorporare Discourse nella pagina dell’articolo per visualizzare i commenti e sostituire Cusdis che sto usando. Ad esempio,
l’articolo https://algo.monster/problems/math-basics, e i commenti:


Il mio sito web https://algo.monster non utilizza una piattaforma di blogging, nÊ Wordpress nÊ Ghost. Il mio sito web è implementato con il mio codice e distribuito sul mio server cloud.
Utilizzando i codici forniti su /admin/customize/embedding, Discourse incorporato viene mostrato correttamente.
Il problema che spero di risolvere configurando DISCOURSE_ENABLE_CORS è il seguente:

Questo URL è quello che sto usando per i test e non dovrebbe causare problemi di origine incrociata.

Grazie @mikeguo – cosa hai inserito nello snippet dello script per discourseEmbedUrl dove dice ‘REPLACE_ME’?

Per collegarsi ad argomenti esistenti anzichĂŠ crearne di nuovi automaticamente, ho sostituito il parametro discourseEmbedUrl con topicId, come segue:

Grazie ancora @mikeguo – mi dispiace, ma questo va oltre la mia capacità di aiutare ulteriormente… Spero che qualcun altro qui possa dare consigli…

1 Mi Piace

Grazie comunque per il tuo aiuto :sparkling_heart:

1 Mi Piace