我需要在Haproxy配置(HA-Proxy版本1.5.18)上使用白名单和另一个每个人都可以访问的ACL规则设置某些ACLS。
这是针对CentOs 7.x Server的,我已经尝试了两种可能的配置,但是不确定设置是否正确,由于使用了环境,因此无法多次重启haproxy
这是我当前的haproxy配置:
frontend pointintime-443
bind *:443 ssl crt /etc/haproxy/pointintime.pem
acl acl_rss path_beg -i /rss
acl acl_sites path_beg -i /sites
acl acl_puntos path_beg -i /points
use_backend backend-pointintime-4443 if acl_rss or acl_sites or acl_points
use_backend backend-point-443 if !acl_rss !acl_sites !acl_points
我需要一个设置,其中前三个ACLS(rss,站点和点)使用白名单文件,因此某些ip可以访问它们,而最后一个规则(否定三个ACLS的规则)允许所有人访问(覆盖白名单),我想到了以下内容:
frontend pointintime-443
bind *:443 ssl crt /etc/haproxy/pointintime.pem
acl acl_rss path_beg -i /rss
acl acl_sites path_beg -i /sites
acl acl_puntos path_beg -i /points
use_backend backend-point-443 if !acl_rss !acl_sites !acl_points
acl whitelist src -f /etc/haproxy/whitelist
use_backend backend-pointintime-4443 if acl_rss or acl_sites or acl_points
另一种选择:
frontend pointintime-443
bind *:443 ssl crt /etc/haproxy/pointintime.pem
acl acl_rss path_beg -i /rss
acl acl_sites path_beg -i /sites
acl acl_puntos path_beg -i /points
acl whitelist src -f /etc/haproxy/whitelist
use_backend backend-pointintime-4443 if acl_rss or acl_sites or acl_points
use_backend backend-point-443 if {!acl_rss !acl_sites !acl_points} !{src -f /etc/haproxy/whitelist}
尽管我不确定第二种选择。...特别是关于拒绝白名单
一旦我能够重新启动haproxy服务,我将立即尝试第一种选择,但是鉴于用于重新启动该服务的窗口很短(因为正在使用环境),我真的需要修复它,第一种选择不是适合您的期望,欢迎任何建议,谢谢。