目前我的Postfix 2.11
实例在 上运行 TLS,GoDaddy SSL Certificate
但因为我希望能够从 smtp.example.com 以及 imap.example.com、example.com 或 example.org 访问我的服务器,所以我在 startssl.com 网站购买了便宜的 SSL Class2 证书。但在更新 Postfix 配置(用新的 StartSSL.com SSL Class2 证书替换旧的 Godaddy SSL 证书)后,电子邮件桌面客户端抱怨 smtp.example.com 不是通用名称 example.com。
我已经配置了 `nginx,并且在访问以下任何示例名称和示例备用名称时一切似乎都运行正常:
示例.com imap.example.com smtp.example.com mail.example.com *.example.com 示例网站 imap.example.org smtp.example.org mail.example.org *.example.org
在 Postfix 上,我对 GoDaddy 证书进行了以下配置:
smtpd_tls_cert_file=/etc/ssl/certs/example.crt smtpd_tls_key_file=/etc/ssl/private/example.key smtp_tls_CAfile=/etc/ssl/certs/sf_bundle.crt smtp_tls_CApath=/etc/ssl/certs
对于 StartSSL.com Class2 证书,我尝试了以下设置组合,但没有成功:
组合1
smtpd_tls_cert_file=/etc/ssl/certs/example.crt smtpd_tls_key_file=/etc/ssl/private/example.key smtp_tls_CAfile=/etc/ssl/certs/ca-certificates.crt smtp_tls_CApath=/etc/ssl/certs
组合2 cat example.crt sub.class2.server.ca.pem >> mycert.crt
smtpd_tls_cert_file=/etc/ssl/certs/mycert.crt smtpd_tls_key_file=/etc/ssl/private/example.key smtp_tls_CAfile=/etc/ssl/certs/ca-certificates.crt smtp_tls_CApath=/etc/ssl/certs
组合3 cat example.crt sub.class2.server.ca.pem >> /etc/ssl/certs/ca-certificates.crt
smtpd_tls_cert_file=/etc/ssl/certs/example.crt smtpd_tls_key_file=/etc/ssl/private/example.key smtp_tls_CAfile=/etc/ssl/certs/ca-certificates.crt smtp_tls_CApath=/etc/ssl/certs
据我所知,主要问题是因为客户端无法看到位于 x509v3 下的备用名称,但 chrome 或 Firefox 等 HTTP 浏览器可以看见。
答案1
最后我获得了与 Postfix 2.11 配合使用的 startssl.com 2 类 SSL 证书,因此我当前的配置可以很好地适用于多个域和子域。
这是工作配置,以防有人需要它。
后缀 /etc/postfix/main.cf
smtpd_tls_cert_file=/etc/ssl/certs/class2.webeloping_es.pem smtpd_tls_key_file=/etc/ssl/private/class2.webeloping_es.key ## 此文件是从 startssl.com 下载的 smtp_tls_CAfile=/etc/ssl/certs/startssl_ca-bundle.pem smtp_tls_CApath=/etc/ssl/certs
Courier Imap /etc/courier/imapd-ssl
$ cat /root/SSL/startssl.com/class2.webeloping_es.crt /root/SSL/startssl.com/class2.webeloping_es.key >> /etc/ssl/private/startssl-crt_key.pem TLS_CERTFILE = /etc/ssl/private/startssl-crt_key.pem TLS_TRUSTCERTS=/etc/ssl/certs/startssl_ca-bundle.pem