Dovecot:增加ssl_dh_parameters_length

我正在使用Dovecot 2.2.21

我设置ssl_dh_parameters_length = 4096 。 在此之前,我已经设定了2048 。 改变后,我重新加载鸽子。

此后,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的时间太长,只是为了获得想要写入文件的锁。 请参阅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); } 

这可能意味着有另一个实例运行,或临时文件没有正确清理,或者其他什么。 尝试closures所有dovecot实例,删除它试图打开的文件,如果它在那里,相同的.tmp版本,然后再次启动dovecot。 希望这将会看到你通过。