У меня небольшая проблема в том, что я пытаюсь пересылать почту через Haproxy, но на совершенно другие серверы.
Проблема, с которой я столкнулся, заключается в том, что существует несколько бэкэндов, которые идут в разные места и на разные сайты. В настоящее время я использую следующую конфигурацию прослушивания для этого, однако я знаю, что hdr_sub (host) не получает правильную информацию для получения электронных писем по назначению.
listen Mail_Handler
mode tcp
bind :25
# Set timeouts
timeout client 15s
timeout connect 30s
timeout server 30s
rate-limit sessions 30
################## ACL Handlers ####################
acl domain1.com hdr_sub(host) -i domain1.com
acl domain2.com hdr_sub(host) -i domain2.com
use_backend domain1.com if domain1.com
use_backend domain2.com if domain2.com
Так, например, у меня есть domain1.com и domain2.com, а запись MX для domain1.com
0 domain1.com
Как можно гарантировать, что почта, отправляемая обработчику MX для domain1.com, действительно достигает domain1.com и то же самое с domain2.com. Я тоже фильтрую почтовый сервер, чтобы предотвратить получение потенциальными злоумышленниками настоящего IP
Могу ли я использовать какой-либо конкретный заголовок, который позволит мне определить, для чего предназначена почта? Или как-нибудь иначе? Если есть какие-то преимущества, я использую Haproxy 1.4.
Ценю вашу помощь.
Как объяснено в configuration.txt, когда вы используете режим TCP ... "проверка уровня 7 выполняться не будет". а hdr_sub - проверка уровня 7 (7.5.3. Соответствие на уровне 7).
Вы можете работать только на уровне 4 и ниже (7.5.1. Соответствие на уровне 4 и ниже).