Haproxy

HAProxy 用兩個參數監聽?

  • April 4, 2017

我經常看到帶有兩個參數語法的 HAProxy 配置範例。實際上,1.4.18 提供的預設配置文件包含以下內容:

listen  appli1-rewrite 0.0.0.0:10001
   cookie  SERVERID rewrite
   balance roundrobin
   server  app1_1 192.168.34.23:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
   server  app1_2 192.168.34.32:8080 cookie app1inst2 check inter 2000 rise 2 fall 5
   server  app1_3 192.168.34.27:8080 cookie app1inst3 check inter 2000 rise 2 fall 5
   server  app1_4 192.168.34.42:8080 cookie app1inst4 check inter 2000 rise 2 fall 5

我注意到完全沒有任何綁定選項,所以我是否相信這是綁定的簡寫?

HAProxy 文件 ( http://haproxy.1wt.eu/download/1.5/doc/configuration.txt ) 包含一個與此語法無關的範例,但沒有在任何地方指定、記錄或解釋它。

該文件僅顯示listen <name>

All proxy names must be formed from upper and lower case letters, digits,
'-' (dash), '_' (underscore) , '.' (dot) and ':' (colon). ACL names are
case-sensitive, which means that "www" and "WWW" are two different proxies.

(即沒有空格,所以這顯然不僅僅是名稱的一部分)

這種語法有官方文件嗎?

謝謝。

我想我只是通過在 superuser.com 上找到這個答案來解決這個問題。在 HAProxy 1.3.x 中,不推薦使用的參考手冊說:

2) Declaration of a listening service
=====================================

Service sections start with the 'listen' keyword :

   listen <instance_name> [ <IP_address>:<port_range>[,...] ]

到 1.4 版,本手冊不再存在,但似乎為了向後兼容,這種語法繼續被接受。在 1.6 中,listen沒有bind指令的部分開始生成警告

所以答案是它是不應該再使用的舊語法。

引用自:https://serverfault.com/questions/550082