我在 Digital Ocean 的 Ubuntu 12.04 x64 Apache/iRedMail 服务器上安装了通用 RapidSSL 证书。当我使用 RapidSSL 的检查工具时,它在浏览器中验证正常。
但是,这个服务器是专门用于邮件的,当我在邮件(Mac OS)或我的 iPhone 等上设置帐户时,我必须进行安全异常(exception),因为它给我错误“这个根证书不被信任。”出于某种原因,它显示位置为中国广东。
我与 eNom(我在那里购买了 SSL 证书)的支持人员进行了交谈,他提到使用根域而不是子域来处理邮件可能会出现问题,我可能需要一个通配符证书。这个建议对我来说没有逻辑意义。
我的一般问题是:在根域上使用通用 SSL 证书设置邮件服务器与在子域上使用通配符 SSL 证书设置邮件服务器有什么区别吗?
或者我的 Apache 配置有问题?
谢谢! :)
更新:
所以现在我做了以下事情:
在/etc/dovecot/dovecot.conf 中
改变了:
ssl_cert = </etc/ssl/certs/iRedMail_CA.pem
ssl_key = </etc/ssl/private/iRedMail.key
收件人:
ssl_cert = </etc/ssl/certificate.crt
ssl_key = </etc/ssl/certificate.key
ssl_ca = </etc/ssl/intermediate.crt
然后在/etc/postfix/main.cf中
我改变了:
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail_CA.pem
smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
收件人:
smtpd_tls_cert_file = /etc/ssl/certs/certificate.crt
smtpd_tls_key_file = /etc/ssl/certificate.key
smtpd_tls_CAfile = /etc/ssl/intermeidate.crt
然后,我重新启动服务器。 Apache 挂起,得到这个错误:
root@host:~# service apache2 status
Apache2 is NOT running.
root@host:~# service apache2 restart
* Restarting web server apache2
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
...fail!
root@host:~#
那么,我这样做:
netstat -ltnp | grep ':80'
结果:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1464/apache2
然后我这样做:
kill -9 1464
之后 Apache 重新启动正常,但 roundcube 不允许我登录,我根本无法连接到 IMAP 或 SMTP。
Dovecot 日志说:
11 月 07 日 04:31:43 imap-login:错误:SSL 私钥文件受密码保护,但未提供密码
11 月 07 日 04:31:43 imap-login:致命:无法解析私有(private) ssl_key
再次更新:
Dovecot 中的一切现在都运行良好。必须执行以下操作,因为我的证书是用密码加密的:
杀死所有的鸽舍
鸽舍-p
然后输入我的密码。
现在我的问题是 Postfix,它根本不起作用。我假设它不喜欢受密码保护的 key 。
最佳答案
您需要配置 dovecot 以使用 SSL。
您只为 apache 安装和配置了 SSL,IMAP/POP/SMTP 连接不由 apache 处理。
不,使用域和子域没有区别。
关于apache - 根域上邮件服务器的 SSL 证书与子域上的通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19822050/