私は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はデフォルトですべてを受け入れます。 2つ以上のサーバーだけを入れる正しい方法は何ですか?
私は次の行も試しました:
tcp-request content reject unless whitelist
tcp-request content reject if !whitelist
助けがあれば、私はhaproxy 1.4.18を持っています。
Haproxy 1.4.22にアップグレードすると問題が解決します。
以下の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