邮件服务器的 SSL 证书无效
Invalid SSL Certificate for Mail Server
虽然这个问题是在特定软件(Discourse 论坛软件)的上下文中,但它实际上是关于邮件服务器的 SSL 证书。
这是我的设置:
主要网站:mydomain.com(托管在 Hostgator 上)
论坛网站(Discourse 论坛软件):forum.mydomain.com(托管在 DigitalOcean 上)
邮件服务器(Discourse 用于向会员发送电子邮件):mail.mydomain.com(托管在 Hostgator 上)
SMTP 的讨论设置:
DISCOURSE_SMTP_ADDRESS: mail.mydomain.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: forum-no-reply@mydomain.com
DISCOURSE_SMTP_PASSWORD: "mypassword"
DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
我在 Hostgator 上为 mydomain.com 和 mail.mydomain.com 设置了 SSL 证书(单个mydomain.com 以及多个子域(如 mail.mydomain.com、webmail. mydomain.com, 等)).
当我尝试使用上述设置从 Discourse 管理界面发送测试电子邮件时,出现“无效证书”错误。
因此,我尝试使用以下命令通过 openssl s_client 进行调试:
openssl s_client -servername mail.mydomain.com -starttls smtp -crlf -connect mail.mydomain.com:587
发送mydomain.com的SSL证书如下
subject=CN = mydomain.com
并使用 TLS v1.2
建立 SSL 会话
以下是之后 EHLO 的奇怪结果:
EHLO mail.mydomain.com
250-xx-xx-xx.webhostbox.net Hello forum.mydomain.com [xx.xx.xx.xx]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250 HELP
正如您在上面代码的第二行中看到的,它从 xx-xx-xx.webhostbox.net 而不是 mail 进行响应。mydomain.com 或 mydomain.com
我想这就是我收到“无效证书”错误的原因。
如果我如下更改 Discourse SMTP 设置(仅更改第一行)
DISCOURSE_SMTP_ADDRESS: xx-xx-xx.webhostbox.net
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: forum-no-reply@mydomain.com
DISCOURSE_SMTP_PASSWORD: "mypassword"
DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
然后一切正常,所有电子邮件都已发送。
有人可以告诉我这个可行的解决方案是否安全吗?我认为它不安全,因为我使用 xx-xx-xx.webhostbox.net 作为 SMTP 地址(这可能会使电子邮件面临风险)而不是 mail。mydomain.com。如果这不安全,我应该如何着手获得该问题的安全解决方案?
因为 documented by Hostgator 使用 hostgator 服务器的名称 full.servername.com
而不是您自己的域名 example.com
作为邮件服务器实际上是正确的设置。这是因为邮件服务器不是特定于您的域,而是多个域的通用邮件服务器。
请注意,这与 非常相似,但仅适用于 SMTP 而不是 FTP。我的解释也适用于 SMTP。
虽然这个问题是在特定软件(Discourse 论坛软件)的上下文中,但它实际上是关于邮件服务器的 SSL 证书。
这是我的设置:
主要网站:mydomain.com(托管在 Hostgator 上)
论坛网站(Discourse 论坛软件):forum.mydomain.com(托管在 DigitalOcean 上)
邮件服务器(Discourse 用于向会员发送电子邮件):mail.mydomain.com(托管在 Hostgator 上)
SMTP 的讨论设置:
DISCOURSE_SMTP_ADDRESS: mail.mydomain.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: forum-no-reply@mydomain.com
DISCOURSE_SMTP_PASSWORD: "mypassword"
DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
我在 Hostgator 上为 mydomain.com 和 mail.mydomain.com 设置了 SSL 证书(单个mydomain.com 以及多个子域(如 mail.mydomain.com、webmail. mydomain.com, 等)).
当我尝试使用上述设置从 Discourse 管理界面发送测试电子邮件时,出现“无效证书”错误。
因此,我尝试使用以下命令通过 openssl s_client 进行调试:
openssl s_client -servername mail.mydomain.com -starttls smtp -crlf -connect mail.mydomain.com:587
发送mydomain.com的SSL证书如下
subject=CN = mydomain.com
并使用 TLS v1.2
建立 SSL 会话以下是之后 EHLO 的奇怪结果:
EHLO mail.mydomain.com
250-xx-xx-xx.webhostbox.net Hello forum.mydomain.com [xx.xx.xx.xx]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250 HELP
正如您在上面代码的第二行中看到的,它从 xx-xx-xx.webhostbox.net 而不是 mail 进行响应。mydomain.com 或 mydomain.com
我想这就是我收到“无效证书”错误的原因。
如果我如下更改 Discourse SMTP 设置(仅更改第一行)
DISCOURSE_SMTP_ADDRESS: xx-xx-xx.webhostbox.net
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: forum-no-reply@mydomain.com
DISCOURSE_SMTP_PASSWORD: "mypassword"
DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
然后一切正常,所有电子邮件都已发送。
有人可以告诉我这个可行的解决方案是否安全吗?我认为它不安全,因为我使用 xx-xx-xx.webhostbox.net 作为 SMTP 地址(这可能会使电子邮件面临风险)而不是 mail。mydomain.com。如果这不安全,我应该如何着手获得该问题的安全解决方案?
因为 documented by Hostgator 使用 hostgator 服务器的名称 full.servername.com
而不是您自己的域名 example.com
作为邮件服务器实际上是正确的设置。这是因为邮件服务器不是特定于您的域,而是多个域的通用邮件服务器。
请注意,这与