haproxy 如何处理冲突的选项

haproxy 如何处理冲突的选项

在我们当前的环境中,haproxy.cfg有两个相互冲突的选择:

option httplog
option tcplog

生成的日志 ( /var/log/haproxy.log) 如下所示:

Jul 16 09:39:05 campus-deploy haproxy[9862]: client_ip:client_port [16/Jul/2018:09:39:01.238] https~ backend/backend_server 0/1/3999 420
-- 12/12/0/0/0 0/0

对我来说,日志看起来更像是tcp日志http日志(即使字段与文档中的不完全相同并且我们也没有自定义日志)。

我的问题如下:

  • haproxy 如何处理冲突的选项?
    • 它是否采用第一个适配选项?
    • 它是否应用最后一个选项(覆盖前一个选项)?

提前感谢您的见解。

答案1

是的,那是一个tcplog

在这种情况下,它不完全是一个“冲突”的选项,而是一个允许自己被以后声明的不同选项所覆盖的选项。

使用配置中从上到下的最后一个实例。这不是错误的原因很可能与这样一个事实有关:可以在默认部分中定义一个这样的选项,但只能在单个代理(前端、监听或后端)配置中覆盖该选项。

相关内容