Como você está parando / iniciando com o comando service, é necessário especificar as variáveis de ambiente em seu script de inicialização (por exemplo, /etc/init.d/haproxy
no Ubuntu) e não na sessão de terminal interativo em que você está controlando o serviço ( service haproxy start
). Você pode verificar as variáveis de ambiente disponíveis para um pid específico no arquivo de arquivos proc. Se você verificar o seu para haproxy, provavelmente será apenas TERM e LANG, porque esse é o único ambiente que é passado via serviço para o script init (manpage for service ).
# cat /proc/$(pgrep haproxy)/environ
Se, em vez de iniciar o haproxy daemonizado pelo script de inicialização, você executar o haproxy diretamente, provavelmente verá o comportamento que está procurando:
# haproxy -f /etc/haproxy/haproxy.cfg
Para resolver isso, edite o script de inicialização /etc/init.d/haproxy
e defina suas variáveis lá:
export FE_PORT_8000_TCP_ADDR=172.17.0.4