app.yml に以下の設定を追加しました。
DISCOURSE_ENABLE_CORS: true
DISCOURSE_CORS_ORIGIN: '*'
テスト中の変数を減らすため、一時的に ‘*’ に設定しています。また、URL を明示的に設定しようとしたこともありましたが、効果はありませんでした。
しかし、上記の設定を行っても、依然として以下のエラーが発生します。
Blockquote
リクエストされたリソースに ‘Access-Control-Allow-Origin’ ヘッダーが存在しません。
コンテキスト:Unity ベースの iOS クライアントが Discourse API と連携しており、テストには WebGL を使用しています。特に WebGL を実行中のブラウザでテストを行う際に、この問題に直面しています。
Postman でのテストからも、すべてのレスポンスヘッダーに ‘strict-origin-when-cross-origin’ という Referrer-Policy が含まれていることが確認できます。
ご協力をいただければ幸いです。よろしくお願いいたします!
「いいね!」 1
IAmGav
(Gavin Perch)
2
cors origins 設定は admin > settings > security で制御されます。
app.yml には DISCOURSE_ENABLE_CORS: だけが必要です。
「いいね!」 1
Falco
(Falco)
5
ここではワイルドカードのサポートがあるかどうかわかりません。実際のドメインで試してみてください。いくつかのサイトで、ドメインが設定された CORS 設定を使用していますが、問題なく動作しているようです。
「いいね!」 1
IAmGav
(Gavin Perch)
6
私のサイトの1つでも設定しており、実際に機能しています。
「いいね!」 1
ドメインで試してみましたが、うまくいきませんでした。環境変数が正しく設定されているか確認する方法はありますか?(あるいは、リクエストを再送信せずにアプリの再起動で CORS が設定されたかどうかを確認する方法など、デバッグの手段を探っています)。
参考までに、CORS 設定を処理していると思われるコードの一部を共有します。
「いいね!」 1
ngnix アクセスログを確認すると、OPTIONS リクエストが 404 を返していることがわかります(これは GET リクエストのエラーに先行しています)。
「いいね!」 1