Назад | Перейти на главную страницу

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 в фоновом режиме?

Эта ошибка на самом деле означает, что не удалось открыть файл, в который нужно сохранить. Выглядит немного неаккуратно. Нет тайм-аута для слишком долгой генерации параметров, только для того, чтобы получить блокировку для файла, в который он хочет записать. Смотрите код на 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. Надеюсь, это поможет вам.