`DISCOURSE_ENABLE_CORS` 環境変数をどこで設定すればよいですか?

「いいね!」 1

DISCOURSE_ENABLE_CORS: trueをapp.yml(envセクションのどこか)に設定する必要があると思います。

「いいね!」 2

DISCOURSE_ENABLE_CORS 変数を Discourse 用に設定すべきではないでしょうか?

「いいね!」 1

仰っていることはよく分かりませんが、推奨されたことを試してみてください。フルリビルドではなく、./launcher destroy app;./launcher start app を実行するだけでよいと思います。

「いいね!」 3

返信ありがとうございます。前のメッセージで十分に明確でなかったことをお詫びします。

Discourseホストインスタンスを使用しており、Discourseを私のウェブサイトに埋め込もうとしています。埋め込まれたDiscourseのiframeのcontentDoumentオブジェクトを取得しようとしたときに、クロスオリジン制限に気づきました。管理設定ページで、トピックの画像に示されているように「cors origins」設定に気づきました。そこで、私のテスト元のURLを追加しましたが、機能しませんでした。そして、DISCOURSE_ENABLE_CORS環境変数をtrueに設定してCORSを有効にする必要があるというヒントに気づきました。しかし、管理設定でDISCOURSE_ENABLE_CORSを設定する場所が見つかりません。

DISCOURSE_ENABLE_CORSをどのように設定すればよいか、または私のクロスドメイン設定が機能していない場合、この設定に関連しているのかを知りたいです。

「いいね!」 1

埋め込みは得意ではありませんが、環境変数を変更するのではなく、/admin/customize/embedding で設定するのではないかと思います。

「いいね!」 4

返信ありがとうございます。試してみましたが、うまくいきませんでした。

「いいね!」 1

もし助けが必要なら、試したことを詳しく説明してください。

「いいね!」 1

/admin/customize/embedding でこのように設定しましたが、クロスオリジンには効果がありません。

それはできないと思います。

iframeの埋め込みを許可する非公開サイト設定がありますが、標準またはビジネスプランでは利用できないと思われます。サポート担当者に問い合わせてみてください。

Discourseをiframeに埋め込むことは公式にはサポートされていません。

「いいね!」 2

iframe は公式の JavaScript スクリプトによって作成されます。以下に示すように、/admin/customize/embedding で提供されているコードを使用しています。


ウェブサイトの配色と埋め込み部分を一致させる必要があるため、たとえ自分で作成したものでなくても、iframe にアクセスする必要があります。

@mikeguo、Discourseトピックを埋め込もうとしているサイトのプラットフォームは何ですか?

例えば、Wordpressサイトですか、それともGhostブログですか?

対象サイトの投稿のURLを提供してください。

上記トピックのコードのスクリーンショットから見えるのはこれだけです。

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

例えば、GhostブログのページにDiscourseフォーラムのコンテンツを表示するために、この投稿で説明されているように ‘DISCOURSE_ENABLE_CORS’ 環境変数を使用しました…

しかし、上記で投稿されたコードから使用しようとしていると思われる機能…

…は、Discourseフォーラムのトピックを外部サイト内の投稿として埋め込もうとしていることを示唆しているようです。これは異なるユースケースです。

ここで何をしようとしているのか、もっと詳しく説明してください…

「いいね!」 1

詳細なご説明ありがとうございます。
https://algo.monster は、Discourse を埋め込みたい私のウェブサイトです。具体的には、
記事ページに Discourse を埋め込んでコメントを表示し、現在使用している Cusdis を置き換えたいと考えています。例えば、
記事 https://algo.monster/problems/math-basics とコメント:


私のウェブサイト https://algo.monster は、WordPress や Ghost のようなブログプラットフォームを使用していません。ウェブサイトは自社コードで実装し、自社クラウドサーバーにデプロイしています。
/admin/customize/embedding で提供されているコードを使用すると、埋め込まれた Discourse は正しく表示されます。
DISCOURSE_ENABLE_CORS の設定で解決したい問題は以下の通りです。

この URL はテストに使用しているもので、オリジン間の問題を引き起こすべきではありません。

@mikeguoさん、ありがとうございます。discourseEmbedUrl の「REPLACE_ME」の部分には、どのようなスクリプトスニペットを入力しましたか?

既存のトピックにリンクするために、トピックを自動作成するのではなく、以下のように discourseEmbedUrl パラメータを topicId に置き換えました。

@mikeguo、改めて感謝します。これ以上お手伝いできる能力を超えているため、申し訳ありません。他の誰かがアドバイスできることを願っています…

「いいね!」 1

どうもありがとうございました :sparkling_heart:

「いいね!」 1