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

Настройте сертификаты для нескольких доменов в Postfix и Dovecot

Я не знаю, как настроить файл конфигурации postfix main.conf и файлы конфигурации dovecot 10-ssl.conf, чтобы мой почтовый сервер мог обрабатывать несколько сертификатов. Позвольте мне объяснить ... У меня два домена на одном сервере, скажем

и два разных сертификата для обоих в разных папках

Вопрос в том, как мне установить параметры tls в main.conf конфигурации postfix? Кажется, поддерживает только одну запись на

Та же проблема в 10-ssl.conf конфигурации dovecot: кажется, поддерживает только одну запись для

Большое спасибо за помощь

Насколько мне известно, это невозможно. У вас есть два варианта:

  • Используйте один домен в качестве MX для всех остальных доменов, которые должен обрабатывать сервер. Итак, если у вас есть сертификат, настроенный для example.com и вы хотите также обрабатывать почту для example.org, установите запись MX, указывающую на ваш example.com сервер в example.org зона.
  • Используйте сертификаты с несколькими сетями SAN для каждого нужного домена. Это означает, что у вас есть только один файл сертификата, охватывающий все ваши домены.

Это делается путем просмотра незашифрованного доменного имени в Индикация имени сервера (SNI) заголовок в рукопожатии TLS, чтобы выбрать правильный сертификат перед обменом зашифрованными данными. На данный момент (я отредактирую этот ответ, если это изменится) Postfix не поддерживает SNI.

Обновление: поддержка SNI введена в postfix 3.4.0 - http://www.postfix.org/announcements/postfix-3.4.0.html

Dovecot, с другой стороны, делает. См. Этот пример конфигурации:

# Default
ssl_cert = </path/to/default/cert
ssl_key = </path/to/default/private/key

# mail.example.it
local_name mail.example.it {
    ssl_cert = </etc/letsencrypt/live/mail.example.it
    ssl_key = </path/to/mail.example.it/private/key
}

# mail.example.com
local_name mail.example.com {
    ssl_cert = </etc/letsencrypt/live/mail.example.com
    ssl_key = </path/to/mail.example.com/private/key
}

Вы можете опустить каждый домен ssl_key если он такой же, как по умолчанию.