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