如何解决Apollo Studio Sandbox CORS无法连接本地端点的问题
Apollo Studio Sandbox无法连接本地GraphQL服务解决方法
- 检查跨域配置
Apollo Studio Sandbox运行在公网域名下,访问本地localhost端点会触发跨域限制,需要给本地GraphQL服务配置CORS规则,允许来自https://studio.apollographql.com的请求。如果使用Apollo Server,初始化时添加如下配置:const server = new ApolloServer({ // 其他配置项 cors: { origin: "https://studio.apollographql.com", credentials: true } }) - 强制使用本地内嵌Playground(推荐本地开发用)
Apollo Server v3及以上版本默认会重定向到公网Sandbox,你可以关闭该逻辑,直接使用本地部署的Playground,无需访问公网服务。Apollo Server配置如下:const server = new ApolloServer({ // 其他配置项 playground: true, introspection: true, apollo: { key: false // 阻止连接公网Apollo服务 } }) - 验证本地端点可用性
先通过本地工具确认你的GraphQL端点正常响应,可执行curl命令测试:curl http://localhost:5018/graphql -X POST -H "Content-Type: application/json" -d '{"query":"{__typename}"}'
如果命令无正常返回,先排查本地服务启动异常、端口占用、端点路径配置错误等问题。 - 检查HTTPS证书信任情况
如果你本地服务使用HTTPS协议,需要确认自签证书已经被当前浏览器信任,否则Sandbox会因为证书风险拦截请求,无法连接本地服务。
内容的提问来源于stack exchange,提问作者lohnsonok
相关产品推荐
相关产品推荐

