SMTP 服务器的 SNI

xry*_*669 4 ssl smtp sni

假设我有一个带有一些 IP (IP1) 的专用服务器。我正在通过 DNS将多个域(例如example.comexample.net)重定向到该 IP。我在这里运行了一个 nginx 服务器,我在这里正确设置了 SNI,它适用于 HTTPS。

我还为两个域设置了 MX 以指向服务器。我已经设置了一个 SMTP 服务器进行侦听,并且通过从电子邮件地址推断允许的主机并拒绝任何其他主机的电子邮件,它在端口 25 上正确响应。

我已经为这台服务器设置了 TLS,但它只允许一个 SSL 证书(无论是 forexample.com还是 for example.net)。有没有办法通过 SMTP 使用 SNI(或等效物?),以便根据哪个目的地提供正确的 TLS 证书?

到目前为止,我还没有为此找到任何东西。我目前的策略是为不同的域使用不同的 IP(可能使用 IPv6,但在我的情况下不适用于 IPv4)并运行两个 SMTP 服务器(每个主机一个)和防火墙规则重定向到不同的端口基于目标IP。这对于 2 个域来说很麻烦,但是如果您有更多域,比如说 10 个域,它根本不可行。

有更好的策略吗?大型服务提供商如何处理大量主机的 SMTP?

Jen*_*y D 5

这里不需要 SNI。证书主机名的验证是针对 MX 记录返回的主机名执行的,而不是目标电子邮件地址中的域名。因此,只要您确保所有域的所有 MX 记录都指向相同的主机名,您只需要该主机名的证书。

换句话说,如果您有一个 MX 记录,说明发送到域的所有电子邮件都example.com应该由 mailserver 处理mail.example.net,那么邮件服务器只需要拥有主机名的证书mail.example.net