我目前正在重构我们在生产服务器上使用的haproxy配置,以转发来自中央服务器的TCP流量.目标是让所有东西都使用docker容器来帮助提高部署可靠性.
到目前为止一切都进展顺利,但现在我有一些"监听"代理使用"模式tcp"似乎没有转发他们的流量.我认为问题出在SSL证书验证或转发到辅助服务器本身.
为了调试这个问题,我打开了所有syslog调试('debug'级别),并使用-d标志在调试模式下运行haproxy.这为所有传入的http流量提供了广泛的调试信息,但似乎没有给我任何TCP的东西.
缺少TCP转发的调试输出是我过去遇到过的,并没有找到任何方法来获取更多细节.
是否有一些魔术标志,配置或编译选项可用于查看TCP连接处理的完整细节?(例如:接受,握手,SSL证书验证,转发,超时等)
如果您使用的是TCP模式代理,则必须option tcplog
在前端的定义中指定.这启用了tcp模式日志记录.在haproxy手册中有关于此的大量文档,例如haproxy 1.5:http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#8.2.2