首页 > 解决方案 > 在 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 服务器重启就好了,但它不再转发到环境变量中的地址。

有任何想法吗?

标签: variablesconfigurationhaproxyenvironmentportforwarding

解决方案


上面的配置很好。这是我开始 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


推荐阅读