menu LittleJake's Blog
color_lens
avatar
Jake Liu
Never Settle
creative commons by-nc-sa
hit
Category
keyboard_arrow_down

© 2024 LittleJake's Blog.

萌ICP备20223020号

给jar程序搭建中间件Nginx防止出现半开放端口

前言

最近生产环境的jar程序,经常会出现超时情况。在连接的过程中,客户端与服务器正常TCP三次握手,连接状态变为ESTABLISH。由于服务端未能及时响应,会出现服务端关闭服务端方的端口,导致客户端socket处于half-open状态。即:客户端为ESTABLISH,服务端无此socket。

half-open

处理方法

由于获取不到jar包的源代码缘故,故选择反向代理处理。

反向代理的方向

  1. 使用python
  2. 中间件Nginx(本文采用此方式)

注意

配置反向代理需要注意的参数:proxy_read_timeoutproxy_connect_timeoutclient_max_body_sizeproxy_write_timeoutkeepalive

  1. 调整超时参数,bypass jar程序的Read timeout和connect timeout;
  2. 调整body的大小来适应POSTPUT方式上传文件的大小。

Buy me a beer

buymeacoffee
Jake Liu
Never Settle

Title: 给jar程序搭建中间件Nginx防止出现半开放端口

Author: Jake Liu

Origin:

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) For any re-post you must give appropriate credit.

文章遵循CC许可 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 转载请注明出处

Tag:nginx, TCP, socket, java, half-open

评论区

Add a new comment.

Theme