如何在haproxy中使用环境变量?

如何在haproxy中使用环境变量?

我使用 haproxy 1.5.2 我的 haproxy.cfg 有以下服务器定义:

server  HALB_ucd1 ${UCD1_END_POINT_IP}:${UCD1_END_POINT_PORT} check port 8444

我在 bash 中设置了 UCD1_END_POINT_IP 和 UCD1_END_POINT_PORT,并使用 service haproxy restart 启动 haproxy

haproxy 重新启动正常,但 UCD1_END_POINT_IP 和 UCD1_END_POINT_PORT 未解析。我看到根据 haproxy 文档,它受支持:

    Any part of the address string may reference any number of environment 
   variables by preceding their name with a dollar sign ('$') and optionally 
   enclosing them with braces ('{}'),
   similarly to what is done in Bourne shell.

如果我将其更改为硬编码 IP 和端口,它就可以正常工作。我错过了什么?

谢谢你!

答案1

您是否尝试过使用类似以下的方法:

server  HALB_ucd1 "${UCD1_END_POINT_IP}:${UCD1_END_POINT_PORT}" check port 8444

答案2

尝试使用:env(variablename)

不过这个选项似乎只在1.5+版本中存在。

http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#7.3.2-env

相关内容