提问人:kalyan singh rathore 提问时间:8/21/2023 最后编辑:mrasoolmirzakalyan singh rathore 更新时间:8/21/2023 访问量:144
使用 reverseproxy 和 Httpclient 的 Golang 1.18 中出现意外的 EOF 错误
unexpected EOF error in Golang 1.18 using reverseproxy and Httpclient
问:
我们已经实现了网关应用程序,它基本上将请求重新路由到目标服务器(spring boot app)。对于网关,我们使用 golang 1.18。
最初,我们使用 golang 的 reverseproxy 来转发请求,但在生产中我们看到了意外的 EOF,因此我们认为相关问题可能是由于 reverseproxy.go 造成的,并更改为具有以下配置的 httpclient。
httpClient = &http.Client{
Timeout: 60, //seconds
Transport: http.DefaultTransport.(*http.Transport).Clone(),
}
但是我们仍然可以看到生产中意外的EOF错误。这在 prod env 中间歇性地发生,但无法在 dev env 中重现。
Env 规格如下 已部署的环境 - Cloud Foundry 客户端应用 - 移动端 API Gateway Golang 版本 - 1.18 Targer Server 应用程序 - Spring Boot (2.5.14) , Java 11
- 我们已将代码从 reverseproxy 移动到 httpclient。
- 代替默认传输,我们使用了自定义传输,增加了超时
- 我们已使用 Request.close 方法关闭了请求。
我们尝试从移动应用程序复制相同的请求和标头,但我们仍然无法在 dev env 中重现该问题。
您能建议我在dev env中重现类似错误的方法吗? 生产中意外的EOF错误有什么修复吗?
答: 暂无答案
评论