Dovecot:增加 ssl_dh_parameters_length

Dovecot:增加 ssl_dh_parameters_length

我正在使用 Dovecot 2.2.21

我设置了ssl_dh_parameters_length = 4096。在此之前,我已经设置了2048。更改后,我重新加载了 Dovecot。

从那时起,SSL 就不再起作用了,我收到了以下日志/var/log/dovecot.err

Jan 10 17:03:41 mail dovecot: ssl-params: Fatal: Timeout while waiting for /var/db/dovecot/ssl-parameters.dat generation to complete

有没有办法增加超时时间或者增加后台的 DH Params?

答案1

该错误实际上意味着它无法打开它想要保存的文件。措辞似乎有点不当。没有因为实际生成参数花费太长时间而超时,只是因为它获取了它想要写入的文件的锁。请参阅以下代码http://hg.dovecot.org/dovecot-2.2/file/42b5cde2d560/src/ssl-params/ssl-params.c具体来说:

/* If multiple dovecot instances are running, only one of them needs
   to regenerate this file. */
ret = file_wait_lock(fd, temp_path, F_WRLCK,
             FILE_LOCK_METHOD_FCNTL,
             SSL_BUILD_PARAM_TIMEOUT_SECS, &lock);
if (ret < 0)
    i_fatal("file_try_lock(%s) failed: %m", temp_path);
if (ret == 0) {
    /* someone else is writing this */
    i_fatal("Timeout while waiting for %s generation to complete",
        path);
}

这可能意味着有另一个实例正在运行,或者临时文件没有正确清理,或者其他原因。尝试关闭所有 dovecot 实例,删除它试图打开的文件,如果存在,则删除该文件的 .tmp 版本,然后重新启动 dovecot。希望这能帮你解决。

相关内容