如何修复 ERR_INVALID_CHUNKED_ENCODING 错误?

How to fix ERR_INVALID_CHUNKED_ENCODING error?

我有一个充当代理服务的 Clojure 应用程序。目标是通过浏览器将请求代理到 http://127.0.0.1:3000 (Grafana service) through the path "/grafana", so that if I access http://127.0.0.1/grafana,它应该将我的请求代理到端口 3000 并为 Grafana 显示 UI。

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

谢谢。

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