apache - 根域上邮件服务器的 SSL 证书与子域上的通配符

标签 apache email ssl subdomain wildcard

我在 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 处理。

不,使用域和子域没有区别。

How to setup iRedmail to use SSL

关于apache - 根域上邮件服务器的 SSL 证书与子域上的通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19822050/

相关文章:

php - 检测文件是否是PHP中没有mime类型的音频文件

html - iOS 邮件链接显示菜单/操作表,而不是可点击的链接

php - PHP mail()不发送电子邮件

android - javax.net.ssl.SSLHandshakeException : Remote host closed connection during handshake while inserting rows in bigquery

python - cURL 查询有效,但 python 请求失败

apache - 使用 S3/EC2 时删除 ".php"文件扩展名

java - Apache Commons Net IMAPsClient 列表命令

c++ - 使用 C++ CGI 脚本输入异常

Django如何为电子邮件激活链接生成自动激活 key

ruby-on-rails - 如何在 Heroku 上的自定义域上使用 HTTPS?