@idiot wrote:
I’m trying to make servers “dynamic” by using a “templated” backend with servers pulled from a map
backend be_template server-template websrv 1-100 localhost:6666 check disabled use-server %[req.hdr(host),lower,map_dom(/usr/local/etc/haproxy/domain2server.map,websrv0)] if { req.hdr(host),lower,map_dom(/usr/local/etc/haproxy/domain2server.map) -m found }
However, the above doesn’t work, haproxy fails to start with the following error:
haproxy_1 | [ALERT] 048/160628 (1) : config : backend 'be_template' : unable to find server '%[req.hdr(host),lower,map_dom(/usr/local/etc/haproxy/domain2server.map,websrv0)]' referenced in a 'use-server' rule. haproxy_1 | [ALERT] 048/160628 (1) : Fatal errors found in configuration.
I wonder if
%[]
syntax is allowed inuse-server
like inuse_backend
?
HAProxy version that I’m using is 1.9.
Full config:
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy # TODO stats socket ipv4@127.0.0.1:9999 level admin # stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners stats timeout 30s daemon defaults log global mode http option httplog option dontlognull option forwardfor option http-keep-alive http-reuse safe timeout connect 5000 timeout client 50000 timeout server 50000 frontend http bind :::80 v4v6 use_backend be_template backend be_template server-template websrv 1-100 localhost:6666 check disabled use-server %[req.hdr(host),lower,map_dom(/usr/local/etc/haproxy/domain2server.map)] if { req.hdr(host),lower,map_dom(/usr/local/etc/haproxy/domain2server.map) -m found }
Posts: 2
Participants: 1