7

我有一个充当代理服务的 Clojure 应用程序。目标是通过路径“/grafana”代理对http://127.0.0.1:3000(Grafana服务)的请求,这样如果我通过浏览器访问http://127.0.0.1/grafana,它应该代理我的请求端口 3000 并显示 Grafana 的 UI。

我遇到的问题是我在浏览器中收到 ERR_INVALID_CHUNKED_ENCODING 响应。在 Wireshark 中,对端口 3000 的请求表明 HTTP 响应重新组合了 3 个 TCP 数据包。但是,通过我的代理的请求的响应没有被重新组装,导致分块错误。有人对如何解决这个问题有任何想法吗?

谢谢。

4

1 回答 1

18

该问题是在将我的代理服务的响应返回到浏览器时引起的。响应包含标题Transfer-Encoding: chunked。当响应来自 时,此标头是必需的Grafana -> proxy-service,但在来自 时不需要proxy-service -> browser。因此解决方案是在将响应发送回浏览器之前删除该标头。

于 2018-04-09T11:30:01.903 回答