haproxy acl – 只接受来自特定的IP地址

我有haproxy,需要提供smtp服务器没有直接连接。

这是我的configuration的一部分:

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,如果有帮助。

下面的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 

升级到haproxy 1.4.22解决的问题。