ssl Hostgator nodemailer ERR_TLS_CERT_ALTNAME_INVALID

dtcbnfnu  于 2023-06-06  发布在  其他
关注(0)|答案(2)|浏览(559)

我将nodemailer配置为发送到hostgator(正如我在这里学习的那样:https://stackoverflow.com/a/56291143/954986):

const transporter = nodemailer.createTransport(smtpTransport({
  name: "hostgator",
  host: "mail.mysite.com",
  port: 465,
  secure: true,
  auth: {
    user: "test@mysite.com",
    pass: $password,
  }
}));

然而,当我发送消息时,我得到:Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: Host: mail.mysite.com. is not in the cert's altnames: DNS:*.hostgator.com, DNS:hostgator.com
它只在我添加tls: { rejectUnauthorized: false}时才起作用,我想避免这样做。
奇怪的是,当我使用任何在线SSL检查器查找“mail.mysite.com”时,它显示SSL配置正确,并且我的站点域显示在证书中。

**似乎不知何故hostgator正在为我提供的主机提供不同的证书?**任何想法可能会发生什么,或者我如何深入挖掘这一点?
***有趣的更新:***我做了一些更多的挖掘,并找到了域名“cloud64.hostgator.com”。我用这个作为传输主机,而不是mail.mysite.com,它可以在启用TLS的情况下工作!电子邮件甚至发送得更快。

但我想弄明白。这是一个稳定的主机,我可以继续使用?在SMTP层是否发生了某种重定向?这是怎么回事?

9fkzdhlc

9fkzdhlc1#

从我看到的你连接到:
1.在第一种情况下,您正在获取**.hostgator.com* TSL证书,该证书对您的域无效,因此您的TSL验证失败。
1.在第二种情况下,您使用的是 * cloud64.hostgator.com *,它可能有一些通用的MX记录,因此您的域将工作。这有点奇怪,但我可以想象它的黑客了某种方式。
在我看来,你有不正确的DNS MX record(s)设置为您的域。您必须正确添加MX记录,以便在通过TLS SMTP连接时证书与您的域匹配。
对于hostgator,您可以设置MX records like this
当然,如果你愿意的话,你也可以阅读RFC974 - the mail routing with domain system和RFC 8314- on TLS安全性,它给了你它应该如何工作的细节。

**注意:**支持哪个版本的TLS取决于服务端和客户端之间的协商。他们都同意最高的共同标准。最新版本是TLSv1.3。

zy1mlcev

zy1mlcev2#

或者你可以在auth下面添加tls。

auth: {
  user: username1,
  pass: password1,
},
tls: {
  rejectUnauthorized: false, // do not fail on invalid certs
}

相关问题