Dovecot 无法访问 LEMP 服务器上的 letsencrypt 证书

Dovecot 无法访问 LEMP 服务器上的 letsencrypt 证书

我正在尝试在 LEMP 服务器上设置 postfix 和 dovecot。我正在使用 letsencrypt 证书。我怀疑我遇到了权限问题,因为除非我在文件夹前面加上该命令,否则我无法访问该/etc/letsencrypt/live文件夹。cdsudo su

这似乎影响了我的 dovecot 配置,因为 dovecot 给了我以下致命错误:

doveconf:致命:配置文件 /etc/dovecot/conf.d/10-ssl.conf 第 13 行错误:ssl_key:无法打开文件 /etc/letsencrpyt/

我多次检查了 dovecot 设置中的 letsencrypt 证书和 pemchain 路径,它们是正确的。因此,似乎有其他东西阻止了 dovecot 访问我的证书链。我假设它与不让我以 root 身份访问证书链的原因相同。

我的 /etc/dovecot/conf.d/10-ssl.conf 页面的顶部如下所示:

##
## SSL settings
##

# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
ssl = required

# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
ssl_cert = </etc/letsencrypt/live/mail.mysite.com/fullchain.pem
ssl_key = </etc/letsencrpyt/live/mail.mysite.com/privkey.pem

我的 /etc/dovecot/conf.d/10-ssl.conf 取消了以下几行的注释并进行了编辑。我实际上并未使用 mail.mysite.com :

ssl = required
ssl_cert = </etc/letsencrypt/live/mail.mysite.com/fullchain.pem
ssl_key = </etc/letsencrpyt/live/mail.mysite.com/privkey.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = </usr/share/dovecot/dh.pem

结果:

ls -l /etc | grep letsencrypt
drwxr-xr-x  9 root  root     4096 Feb 20 12:44 letsencrypt

我的问题是,我该如何修复上述错误并允许 dovecot 正确访问我的 letsencrypt 证书路径?

答案1

该死的拼写。:) 我第一次没有注意到这一点。您letsencrPYt的配置中已经存在此问题,错误消息中也清楚地显示了这一点。

答案2

为了解决这个问题,我只需要ssl_key = </etc/letsencrpyt正确拼写我的 ssl_key。

正确的语法是:

ssl_key = </etc/letsencrypt/live/mail.mysite.com/privkey.pem

不是

ssl_key = </etc/letsencrpyt/live/mail.mysite.com/privkey.pem

相关内容