我使用proxy 1.6.4作为TCP(而不是HTTP)代理。我的客户正在发出TCP请求。它们不等待任何响应,它们只发送数据并关闭连接。
当所有后端节点都关闭时,back的行为如何?我看到(从客户端的角度来看) that正在接受不可中断的连接。
哈代理统计数据显示,前端已经打开状态,他正在接受连接.
会话数和字节数--前端增加,而后端不增加(他下降了)。
代理是否正在缓冲传入的TCP请求,并在后端运行后将其传递给后端?如果是,是否可以配置此缓冲区大小?数据被缓冲的地方(内存、磁盘?)
当所有后端节点关闭时,是否有可能关闭前端(不要接受传入的TCP连接)?
编辑:当后端启动时,我看到*后端的字节数和会话数等于前端会话数*但我唯一的后端节点有发热字节数、发热会话数和错误。
因此,在默认配置中,似乎没有tcp缓冲。即使所有后端节点都已关闭,haproxy也会接受数据,但该数据将丢失。当没有后端服务器时,我更愿意关闭tcp前端,这样客户端连接就会被拒绝。这有可能吗?
编辑: haproxy日志是
7月15日10:02:32 172.17.0.2 haproxy1: 185.130.180.3:11319 15 /2016:10:02:32.335 tcp-in app/ -1/-1/0 SC \ 0/0 /0/0/0 /0 908
我的日志格式是
%ci:%cp/Tt、b/%s_w/%Tc/%Tt\\%Tc/%fc/%bc/%sc/%rc、sq/%bq_u
我从日志中了解到:
发布于 2016-07-21 17:37:10
我不认为你想要的是什么。HAproxy分别处理连接的两边(前端、后端)。首先建立传入的TCP连接,然后HAproxy为其寻找匹配的目的地。
https://stackoverflow.com/questions/38392031
复制相似问题