JavaScript 前端 的 CORS 问题

你好!

我无法弄清楚如何正确设置 Discourse 论坛的 CORS 策略。

我在 https://forum.bitbetter.club/ 安装了 Discourse,并尝试通过 JSON API 获取帖子内容,例如从以下路径:https://forum.bitbetter.club/t/weeks-25-and-26-prisoners-of-geography/128.json

我在前端遇到了错误:

已被 CORS 策略阻止:缺少 ‘Access-Control-Allow-Origin’

前端应用托管在 Loading... Netlify,因此部署预览会有不同的域名。

我尝试在 Discourse 中设置 cors origins 选项,但似乎没有任何效果。(我尝试了带协议的特定域名、不带协议的域名、完整 URI 以及其他各种可能性,甚至尝试了 *

是否有可能是 Nginx 阻止了某些 HTTP 参数?接下来我应该从哪里入手排查?

我自己想明白了。我之前误以为 CORS 策略默认是开启的。

我编辑了 app.yml,添加了 DISCOURSE_ENABLE_CORS=true,重启应用后一切正常。