![haproxy 如何处理冲突的选项](https://linux22.com/image/724536/haproxy%20%E5%A6%82%E4%BD%95%E5%A4%84%E7%90%86%E5%86%B2%E7%AA%81%E7%9A%84%E9%80%89%E9%A1%B9.png)
在我们当前的环境中,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
。
在这种情况下,它不完全是一个“冲突”的选项,而是一个允许自己被以后声明的不同选项所覆盖的选项。
使用配置中从上到下的最后一个实例。这不是错误的原因很可能与这样一个事实有关:可以在默认部分中定义一个这样的选项,但只能在单个代理(前端、监听或后端)配置中覆盖该选项。