Ste*_*eve 7 dovecot openssl ssl-certificate
我已经尝试设置 Postfix 和 Dovecot 好几天了,我想我已经解决了所有问题,除了刚刚出现的问题。当我尝试重新启动 Dovecot 时,我收到以下错误消息:
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: ssl enabled, but
ssl_cert not set
[....] Restarting IMAP/POP3 mail server: dovecotdoveconf: Fatal: Error in configuration
file /etc/dovecot/dovecot.conf: ssl enabled, but ssl_cert not set
Run Code Online (Sandbox Code Playgroud)
当我检查 dovecot.conf 时,没有任何关于 ssl 的内容,所以我假设错误是引用了10-ssl.conf
. 我注意到设置被注释掉了:
# ssl = no
# ssl_cert = </etc/ssl/dovecot.pem
# ssl_key = </etc/ssl/private/dovecot.pem
Run Code Online (Sandbox Code Playgroud)
我知道这些之前已取消注释,但如果我现在取消注释,我会在启动时收到一个不同的错误,关于 10-ssl.conf 中的意外值 ssl。从 Dovecot wiki 中,即使该值被其他地方的特定协议覆盖,也必须设置该值。
如果我将 ssl 值注释掉,我会收到关于 ssl 已启用但未设置的第一条错误消息。
早些时候,我使用 OpenSSL 创建了一个自签名证书,但没有收到任何有关未配置 ssl 的错误消息。事实上,我能够从另一台客户端机器登录到 pops,它给出了关于证书不受信任的通常警告。但是,我确实注意到证书引用了不正确的主机名,这是在我重建 VPS 并愚蠢地安装和配置 Dovecot 并设置了错误的主机名后引起的。
好吧,我清除了所有文件并重新安装了。我再次删除了所有密钥并使用 OpenSSL 重新生成了几次,但现在由于此错误,我什至无法启动 Dovecot。我被卡住了,想知道我应该如何处理这个问题。是否有可能是 Postfix 中引用 Dovecot 的某些内容导致了这种情况?
有些网站说要检查你的语法,比如ssl_cert = </etc
vsssl_cert = /etc
但这并没有什么不同。我也很乐意暂时禁用 ssl 来解决错误,但这也失败了。
刚才我试图创建一个指向预建密钥的符号链接/etc/dovecot
,/etc/dovecot.pem
但我得到了相同的消息。
小智 5
然而旧帖子:错误来自于主配置文件 dovecot.conf 需要在末尾有一行:“!include conf.d/*.conf”。
否则它不会加载“conf.d/”中的配置文件
我认为这就是为什么更改“conf.d/”中配置文件中的设置没有任何区别的原因
另外,如果尚未在 10-ssl.conf 或 dovecot.conf 中设置 SSL,为什么会说 SSL 已启用?在哪里启用它?
这是因为默认配置是 ssl = yes。没有包含 10-ssl.conf 文件,您可以在其中停用 ssl 或设置 cert 文件,从而获得该结果。
我在 中的 Dovecot 配置dovecot/conf.d/10-ssl.conf
(在两个不同的服务器上运行)是:
ssl = yes
ssl_cert = </path/to/cert.file
ssl_key = </path/to/key.file
Run Code Online (Sandbox Code Playgroud)
我使用证书颁发机构,所以我也有:
ssl_ca = </path/to/ca-bundle.pem
Run Code Online (Sandbox Code Playgroud)
我设置服务器已经有一段时间了,但我确实记得 Dovecot 出现过问题,而且我相信它们与 Postfix 是分开的。
我不确定意外的值错误。当你取消注释时,你变成了ssl = no
吗ssl = yes
?我还知道 OpenSSL 对文件权限有点挑剔。我的密钥文件由 root:root 所有,并设置了 400 个权限。
归档时间: |
|
查看次数: |
17583 次 |
最近记录: |