我已经成功地设置了courier+postfix以处理同一服务器上的多个电子邮件域。目前,我在/etc/速递/imap-ssl中有以下几行:
TLS_CERTFILE=/etc/courier/imapd.pem
TLS_TRUSTCERTS=/etc/ssl/certs将它们改为此方法非常有效:
TLS_CERTFILE=/home/certs/certs/certificate.pem.ww2.endofstars.com
TLS_TRUSTCERTS=/home/certs/chains/endofstars.crt第一个包含来自权威机构的证书和我的私钥。第二个有证书链。雷鸟没有向我的客户展示“无极限业务将使用未经签署的证书”的信息,并运行:
openssl s_client -connect ww2.endofstars.com:993返回这,这让我觉得它在工作。但从那以后就是下坡了。当我将TLS_CERTFILE设置更改为:
TLS_CERTFILE=/home/certs/certs/certificate.pem雷鸟再一次抱怨一个无效证书。这个文件不存在,但是imap-ssl文档说它应该自动追加主机名,以便找到certificate.pem.ww2.endofstars.com文件。使用openssl查询它再次显示这一错误,以及mail.log报告:
imapd-ssl: couriertls: /home/certs/certs/certificate.pem: error:02001002:system library:fopen:No such file or directory它没有附加主机名。imap-ssl中的注释说,多域方法是“仅限GnuTLS”,但我不知道如何知道是否安装了它。运行ldd /usr/sbin/couriertcpd显示:
linux-vdso.so.1 => (0x00007fffa75ff000)
libgdbm.so.3 => /usr/lib/x86_64-linux-gnu/libgdbm.so.3 (0x00007fcff8433000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcff8076000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcff8640000)但我不知道我是否做得对,或者它将显示是否使用了gnutls。我在ubuntu服务器12.04上。
发布于 2012-06-14 12:42:58
您可以通过键入ldd /usr/bin/couriertls (这可能是另一个发行版上的另一条路径)来找出SSL/TLS库表达式使用的是哪个。
您将看到,在Ubuntu12.04上,它是针对OpenSSL编译的(因为包依赖关系也表明:参见courier-ssl和courier-imap-ssl)。如果您希望它是针对GnuTLS编译的,则必须下载包源代码(apt-get source courier-ssl),并调整其配置以使用GnuTLS (很可能还必须安装GnuTLS和gnutls包)。您可能需要阅读Debian/Ubuntu打包文档,以找到要更改的选项。配置文件将位于courier-0.66.../debian下。
OpenSSL现在也支持服务器名称指示(这就是您想要使用的),但是在快递中可能还不支持这一点(我不确定)。这条信息似乎表明在未来的版本中可能会出现这种情况。
https://serverfault.com/questions/398582
复制相似问题