【问题标题】:How to solve Apollo Studio Sanbox Cors?如何解决 Apollo Studio Sandbox Cors?
【发布时间】:2021-09-25 08:35:06
【问题描述】:

我无法使用 apollo Studio。迁移到 Graphql 游乐场之后。当我尝试在 localhost 中运行并将我重定向到 apollo studio sanbox https://studio.apollographql.com/sandbox?endpoint=http%3A%2F%2Flocalhost%3A5018%2Fgraphql:无法连接到 localhost。

请帮忙解决这个问题

【问题讨论】:

  • 您使用的是哪个 apollo 服务器版本?

标签: apollo apollo-server prisma prisma-graphql prisma2


【解决方案1】:

为服务器的 CORS 行为添加 CORS 配置选项。

const server = new ApolloServer({
  cors: {
    "origin": "https://studio.apollographql.com",
    "credentials": true
  }, 
  typeDefs, 
  resolvers, 
});

【讨论】:

  • 这不起作用(至少使用打字稿)
  • 'cors' 不是 ApolloServer 配置的属性
  • 你在 TypeScript dialto 中找到解决这个问题的方法了吗?
【解决方案2】:

更新

我能够解决我的问题。我已将头盔中间件添加到 Express,只需要更新 contentSecurityPolicy 设置。

export default async (app: express.Application) => {
  app.use(config.graphqlPath, express.json());
  app.use(cors());
  app.use(
    helmet({
      contentSecurityPolicy:
        process.env.NODE_ENV === 'production' ? undefined : false
    })
  );
};

不确定这是否有帮助,因为原始帖子中没有太多关于环境的详细信息,但也许这可以帮助将来的其他人。

原帖

我只在使用 Apollo Sandbox 时遇到了同样的问题。我只是得到一个页面,说明我似乎处于离线状态。我检查了控制台,有许多 CORS 错误。

我还尝试将 GraphQL Playground 作为插件切换。它显示了初始加载屏幕,但从未超过该点。我检查了控制台,也看到了类似的 CORS 错误。

我正在使用 apollo-server-express。我过去创建了 Apollo 服务器,但在尝试本地运行工具时从未遇到过这种情况。

【讨论】:

    猜你喜欢
    • 2020-02-07
    • 2021-05-28
    • 2021-10-24
    • 2019-12-07
    • 2021-09-11
    • 2021-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多