从Haproxy上的文件读取acl白名单IP
我试图从文件中将白名单IP加载到Haproxy acl 我能够通过在haproxy配置文件中添加内联来将ip列入白名单,而且效果很好 我想知道是否有任何方法可以指定文件的ip地址并从haproxy配置读取该文件 这是我的Haproxy配置文件从Haproxy上的文件读取acl白名单IP,haproxy,Haproxy,我试图从文件中将白名单IP加载到Haproxy acl 我能够通过在haproxy配置文件中添加内联来将ip列入白名单,而且效果很好 我想知道是否有任何方法可以指定文件的ip地址并从haproxy配置读取该文件 这是我的Haproxy配置文件 global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy user haproxy
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
contimeout 5000
clitimeout 50000
srvtimeout 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
frontend http-in
bind *:80
mode http
reqadd X-Forwarded-Proto:\ http
acl whitelist src 192.168.12.32 192.168.0.1
acl all src 0.0.0.0
acl demo hdr_end(host) -i 192.168.20.26
use_backend demo if demo whitelist
backend demo
balance leastconn
option httpclose
option forwardfor
cookie JSESSIONID prefix
server locahost localhost:8080 cookie A check
我们在haproxy.conf文件中使用“-f”标志指定白名单ip源。 在/etc/haproxy/内创建whitelist.lst,并列出所有带有子网掩码的白名单ip,例如:-192.168.1.1/32 192.168.2.1/32 192.168.0.1/24等 这是我的haproxy conf文件,它从文件中加载白名单ip
frontend http-in
bind *:80
mode http
reqadd X-Forwarded-Proto:\ http
acl whitelist src -f /etc/haproxy/whitelist.lst
acl all src 0.0.0.0
acl demo hdr_end(host) -i 192.168.20.26
use_backend demo if demo whitelist
backend demo
balance leastconn
option httpclose
option forwardfor
cookie JSESSIONID prefix
server locahost localhost:8080 cookie A check
你能详细解释一下acl demo hdr_end(host)-i 192.168.20.26到底做了什么吗?我正在尝试使用此功能,但工作不正常。我想这是因为我不知道该如何适应我的特殊情况。ACL的“demo”检查使用hdr(主机)请求的主机名。如果与192.168.20.26匹配,则acl“test_host”设置为true。下面是一个更简单的主机名示例。acl test_host hdr(host)-i test.example.com。请为您的答案提供一些上下文,以便其他人能够轻松理解您的方法。
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
contimeout 5000
clitimeout 50000
srvtimeout 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
frontend http-in
bind *:80
mode http
reqadd X-Forwarded-Proto:\ http
default_backend demo
acl white_list src -f /etc/haproxy/whitelist.lst
tcp-request content accept if white_list
tcp-request content reject
backend demo
balance leastconn
option httpclose
option forwardfor
cookie JSESSIONID prefix
server locahost localhost:8080 cookie A check