ACL和白名单

时间:2019-05-28 14:42:59

标签: linux centos haproxy

我需要在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服务,我将立即尝试第一种选择,但是鉴于用于重新启动该服务的窗口很短(因为正在使用环境),我真的需要修复它,第一种选择不是适合您的期望,欢迎任何建议,谢谢。

0 个答案:

没有答案