我在 SSL 终止模式下使用 HAProxy 作为邮件前端(IMAPS)(邮件客户端配置为 imap 服务器 192.168.88.2(haproxy 主机))。
配置:
frontend ft_imaps
mode tcp
bind 192.168.88.2:993 ssl crt /etc/pki/tls/certs/cert.pem
default_backend bk_imaps2
log global
timeout client 1m
option tcplog
backend bk_imaps
mode tcp
log global
option tcplog
timeout server 1m
timeout connect 30s
server SRV1 192.168.2.30:993 check maxconn 20 ssl verify none
如果所有虚拟域都由服务器 192.168.2.30 提供服务,那么一切正常。但是,如果我想将邮件流量路由到虚拟域“domain1.local”到 192.168.2.30,并将“domain2.local”路由到另一个(例如 10.10.100.4),我该如何在 HAProxy 上进行过滤?
对我来说,这是不可能的,因为 HAProxy 无法分析每封电子邮件属于哪个虚拟域。配置.txt:tcp 模式适用于 SSL、SSH、SMTP。在 tcp 模式下,“不会执行第 7 层检查”。因此,在 tcp 模式下不会访问 SMTP 标头。
因此,如果我需要使用一个点进行邮件通讯,我可以尝试基于 src(客户端 ip 地址)的 acl 或创建多个前端(:1994 -> 192.168.2.31,:1995 -> 10.10.100.4)并设置客户端邮件软件?
'mode http' 不适合这个?