haproxy acl-仅接受来自特定IP的

haproxy acl-仅接受来自特定IP的

我有 haproxy 并且需要向没有直接连接的服务器提供 smtp。

这是我的配置的一部分:

listen smtp     10.12.23.10:3025
    mode tcp
    server smtp     172.30.33.12:25
    #tcp-request inspect-delay 2s
    acl white_list src 10.146.5.247 10.146.5.201
    tcp-request content accept if white_list
    tcp-request content reject 

任何尝试连接到端口的行为都会被拒绝。如果我删除行tcp-request content reject- 则适用于所有人,但默认情况下 haproxy 会接受所有内容。仅允许两个或更多服务器进入的正确方法是什么?

我也尝试过以下几行:

tcp-request content reject unless whitelist
tcp-request content reject if !whitelist

我有 haproxy 1.4.18,希望有帮助。

答案1

下面的 con 在 haproxy 1.4.15 上按预期运行。

listen smtp   :3025
    mode tcp
    server smtp  192.168.1.2:25
    acl white_list src 127.0.0.1 192.168.1.205
    tcp-request inspect-delay 2s
    tcp-request content accept if white_list
    tcp-request content reject

您甚至可以删除检查延迟线,但“超时连接”后客户端将被拒绝。

listen smtp   :3025
    mode tcp
    server smtp  192.168.1.2:25
    acl white_list src 127.0.0.1 192.168.1.205
    timeout connect 1s
#    tcp-request inspect-delay 2s
    tcp-request content accept if white_list
    tcp-request content reject

答案2

升级到 haproxy 1.4.22 已解决问题。

相关内容