We apologize that the translated content is not provided to this page.
前言
最近生产环境的jar程序,经常会出现超时情况。在连接的过程中,客户端与服务器正常TCP三次握手,连接状态变为ESTABLISH。由于服务端未能及时响应,会出现服务端关闭服务端方的端口,导致客户端socket处于half-open状态。即:客户端为ESTABLISH,服务端无此socket。
处理方法
由于获取不到jar包的源代码缘故,故选择反向代理处理。
反向代理的方向
- 使用python
- 中间件Nginx(本文采用此方式)
注意
配置反向代理需要注意的参数:proxy_read_timeout
、proxy_connect_timeout
、client_max_body_size
、proxy_write_timeout
、keepalive
。
- 调整超时参数,bypass jar程序的Read timeout和connect timeout;
- 调整body的大小来适应
POST
、PUT
方式上传文件的大小。