variables - 在 HAProxy 配置监听中使用环境变量不起作用
问题描述
这是我listen
的 haproxy 配置文件的简单部分:
listen graph_front
bind *:8182
mode tcp
server graph_server graph.server.com:8182
这工作得很好,但我需要地址和端口作为环境变量。所以我把它改成这样:
listen graph_front
bind *:8182
mode tcp
server graph_server "$GRAPH_ADDRESS":"$GRAPH_PORT"
haproxy 服务器重启就好了,但它不再转发到环境变量中的地址。
有任何想法吗?
解决方案
上面的配置很好。这是我开始 haproxy 的方式。我必须直接启动它
haproxy -f /path/to/config
如果没有提升的权限,这将不起作用。那么,接下来
sudo haproxy -f /path/to/config
当然 env 变量不是通过 sudo 传递的。所以像这样更直接的方法是有效的:
sudo -- sh -c 'export GRAPH_ADDRESS=graph.server.com; export GRAPH_PORT=8182; haproxy -f /etc/haproxy/haproxy.cfg