CentOS 8系から可能になった Postfix/DovecotメールサーバーのSSL/TLSをSNI対応。
(複数の証明書でマルチドメイン運用にする方法)
■ Dovecot TLS SNI対応
/etc/dovecot/conf.d/10-ssl.conf
# デフォルトの証明書(この記述も必要) ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem # 以下を追加していく local_name domain1.org { ssl_cert = </path/to/domain1_fullchain.crt ssl_key = </path/to/domain1_praivate.key } local_name domain2.org { ssl_cert = </path/to/domain2_fullchain.crt ssl_key = </path/to/domain2_praivate.key } ・・・local_name を追加していく 他は通常のTLSの設定と同じ
■ Postfix TLS SNI対応
/etc/postfix/main.cf
# デフォルトの証明書(この記述も必要) smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem smtpd_tls_key_file = /etc/pki/tls/private/postfix.key # Postfix 3.4以上なら SNI可能 tls_server_sni_maps = hash:/etc/postfix/tls_server_sni_maps 他は通常のTLSの設定と同じ
証明書のマップファイル
/etc/postfix/tls_server_sni_maps
domain1 /path/to/domain1_praivate.key, /path/to/domain1_fullchain.crt domain2 /path/to/domain2_praivate.key, /path/to/domain2_fullchain.crt ・・・
postmap -F hash:/etc/postfix/tls_server_sni_maps
★重要
証明書を更新時に postmap -F でマップdbを作り直す必要がある。