首页 > 解决方案 > 我无法通过代理访问我的 apollo 服务器

问题描述

我已经在本地主机的 3000 端口上设置了apollo 服务器,它工作正常。我可以使用操场并进行查询,它们都可以正常工作。(一些文字像素化以保护隐私)

在此处输入图像描述

然而,我的前端是一个 Svelte 应用程序,通过snowpack从 localhost 上的端口 8080 提供服务。我已经将雪包配置设置为代理 localhost:8080/api 到 localhost:3000

  proxy: {
    "/api": "http://localhost:3000/"
  },

如果我尝试通过 http://localhost:8080/api 访问游乐场,则会出现 Web UI,但 graphql 协议似乎存在错误。用户界面抱怨说the server cannot be reached

在此处输入图像描述

如果我进入开发者模式,我会看到以下请求失败

POST /api HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 1468
accept: */*
Apollo-Query-Plan-Experimental: 1
X-Apollo-Tracing: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
DNT: 1
content-type: application/json
Origin: http://localhost:8080
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://localhost:8080/api/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-AU,en;q=0.9,de-AT;q=0.8,de;q=0.7,en-GB;q=0.6,en-US;q=0.5

带有请求正文 在此处输入图像描述

返回的响应是

HTTP/1.1 400 Bad Request
connection: close
Date: Thu, 12 Nov 2020 18:40:59 GMT
Content-Length: 0

是否需要对服务器进行配置以允许它通过这样的代理工作?

标签: proxygraphqlapollo-serversnowpack

解决方案


推荐阅读