express - CORS 不适用于 apollo-server-express

标签 express graphql apollo

包裹:阿波罗服务器 express

版本: v2.6.0
问题: CORS 设置未生效。

向阿波罗报告?:是的,Issue 3058

说明:从我们的 react 客户端,我们开始发送 apollographql-client-name & apollographql-client-version better client awareness 的标题在阿波罗引擎中。
Access to fetch at 'https://something.com/graphql' from origin 'http://localhost:3000' has been blocked by CORS policy: Request header field apollographql-client-name is not allowed by Access-Control-Allow-Headers in preflight response.
我们收到以上 CORS错误。我们启用了 cors在 Apollo Server 上通过 express 中间件传递 cors: true .出于某种原因,这种变化没有任何区别。我们继续收到上述错误。

const server: ApolloServer = new ApolloServer({
...
...
});

const app: Application = express();

server.applyMiddleware({
   app,
   cors: true,
   path: '/graphql',
});
  • 我们有 nginx坐在前面,它确实收到请求并转发到 Apollo 服务器。
  • cors: true默认情况下启用一切?
  • 我们尝试非常具体,但这也无济于事。
  • cors: {
       origin: true,
       allowedHeaders: ['Authorization', 'Content-Type', 'apollographql-client-name']
    },
    

    欢迎任何意见和建议!

    最佳答案

    问题已解决。

    我们在 Apollo Server 之上有 kubernetes 入口层这就是导致变化没有反射(reflect)出来的原因。我们启用后 cors在 nginx 入口上,我们能够成功调用。

    关于express - CORS 不适用于 apollo-server-express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57104464/

    相关文章:

    javascript - 请求对象中的 MEANJS Mongoose 模型

    javascript - 为什么我的 POST 请求不更新正在提供的 .json 或 .js 文件?

    c# - 如何使用 Hot Chocolate 和 EF Core 创建 GraphQL 部分更新

    GraphQL:嵌套查询与根查询

    reactjs - React-apollo-hooks useMutation

    javascript - multer:保留原始图像文件名

    javascript - Express.js 路由 404

    javascript - 来自请求对象的 Node/快速访问记录器

    reactjs - React Query 或 Apollo Client 如何确保更新数据?

    javascript - 不能在 React Native 中只调用一次函数?