GraphQL 订阅引发跨源错误

Posted

技术标签:

【中文标题】GraphQL 订阅引发跨源错误【英文标题】:Cross origin error thrown on GraphQL subscription 【发布时间】:2021-03-10 11:38:28 【问题描述】:

我正在按照本教程设置 GraphQL 订阅:https://hasura.io/docs/1.0/graphql/core/guides/integrations/apollo-subscriptions.html

我收到 CORS 错误,并且我对 Web 套接字的所有请求都失败了。我该如何解决?

【问题讨论】:

【参考方案1】:

Hasura 使用一种特殊的方式来处理 CORS,具体取决于您使用的环境。 如果您使用 Heroku,则需要在您的环境变量中添加 Hasura 特定变量以启用 CORS。

HASURA_GRAPHQL_CORS_DOMAIN="https://*.foo.bar.com:8080, http://*.localhost, http://localhost:3000, http://example.com"

查看CORS configuration example

【讨论】:

我正在使用 Heroku。我在哪里可以添加这些变量? 在您的 Heroku 仪表板中 - devcenter.heroku.com/articles/config-vars - 可能会有所帮助。

以上是关于GraphQL 订阅引发跨源错误的主要内容,如果未能解决你的问题,请参考以下文章

未处理的 GraphQL 订阅错误

如何使用 express-graphql 引发多个错误?

离开页面时,我得到:未处理的 GraphQL 订阅错误错误:GraphQL 错误:未提供所需类型 xxx 的变量 xx

使用 graphql 和 apollo 引发描述性错误

嵌套查询/解析器时的 GraphQL.js 订阅响应错误

由 amplify 生成的 Graphql 查询运行良好,但由于身份验证规则而引发错误。为啥?