net::ERR_SPDY_PROTOCOL_ERROR 200 有代理服务器
net::ERR_SPDY_PROTOCOL_ERROR 200 with proxy server
在我们的项目中,我们使用了 2 台服务器:1 台作为 PROD API 服务器,1 台作为代理(实际上 nginx 用于此)
代理服务器也使用HTTP/2。在一种情况下,代理可能会从 prod API 服务器获得响应,并用代理替换 PROD 链接,然后 return 将其发送给客户端。
在那种情况下,我们可以捕获“net::ERR_SPDY_PROTOCOL_ERROR 200”错误。我在谷歌上搜索了一下这个问题,但看起来这个错误的原因可能很少。
在我的例子中,它仅在我们替换主机时发生(在将其发送到客户端之前修改来自 PROD 的响应)
有人可以描述一下“net::ERR_SPDY_PROTOCOL_ERROR 200”的实际含义以及避免这种情况的最佳做法吗?
HTTP/2 源自较早的 SPDY 协议,这可能是错误消息未提及 [= 的原因23=] 完全没有。
您可能会看到 ERR_SPDY_PROTOCOL_ERROR 消息的原因之一是来自服务器的无效 HTTP header。也许您的代理正在对 HTTP 响应 header 进行一些更改,即 making it invalid/malformed?
尝试在您的代理服务器上禁用 HTTP/2 并查看错误是否消失。如果是,请检查响应 headers 并确保它们有效。我怀疑您的代理服务器的响应格式不正确。
我们今天在 运行 反向代理服务器使用 docker 图像时遇到了类似的问题:nginx:1.16.0-alpine。改用nginx:1.16.0后,问题解决
在我们的项目中,我们使用了 2 台服务器:1 台作为 PROD API 服务器,1 台作为代理(实际上 nginx 用于此)
代理服务器也使用HTTP/2。在一种情况下,代理可能会从 prod API 服务器获得响应,并用代理替换 PROD 链接,然后 return 将其发送给客户端。
在那种情况下,我们可以捕获“net::ERR_SPDY_PROTOCOL_ERROR 200”错误。我在谷歌上搜索了一下这个问题,但看起来这个错误的原因可能很少。
在我的例子中,它仅在我们替换主机时发生(在将其发送到客户端之前修改来自 PROD 的响应)
有人可以描述一下“net::ERR_SPDY_PROTOCOL_ERROR 200”的实际含义以及避免这种情况的最佳做法吗?
HTTP/2 源自较早的 SPDY 协议,这可能是错误消息未提及 [= 的原因23=] 完全没有。
您可能会看到 ERR_SPDY_PROTOCOL_ERROR 消息的原因之一是来自服务器的无效 HTTP header。也许您的代理正在对 HTTP 响应 header 进行一些更改,即 making it invalid/malformed?
尝试在您的代理服务器上禁用 HTTP/2 并查看错误是否消失。如果是,请检查响应 headers 并确保它们有效。我怀疑您的代理服务器的响应格式不正确。
我们今天在 运行 反向代理服务器使用 docker 图像时遇到了类似的问题:nginx:1.16.0-alpine。改用nginx:1.16.0后,问题解决