我有一个充当代理服务的Clojure应用程序。目标是通过路径“/ grafana”将请求代理到http://127.0.0.1:3000(Grafana服务),这样如果我通过浏览器访问http://127.0.0.1/grafana,它应该将我的请求代理到端口3000并显示UI为Grafana。
我遇到的问题是我在浏览器中收到了ERR_INVALID_CHUNKED_ENCODING响应。在Wireshark中,对端口3000的请求显示HTTP响应重组3个TCP数据包。但是,通过我的代理的请求的响应没有被重新组装,导致分块错误。任何人对如何解决这个问题都有任何想法?
感谢。
答案 0 :(得分:3)
将响应从我的代理服务返回到浏览器时会导致此问题。响应包含标题Transfer-Encoding: chunked
。响应来自Grafana -> proxy-service
时,此标头是必需的,但从proxy-service -> browser
开始时则不需要此标头。因此解决方案是在将响应发送回浏览器之前删除该标头。