LINUX.ORG.RU
ФорумAdmin

exim ssl и два домена

 ,


0

2

Всем привет.

Имею два сертификата для двух доменов. С dovecot всё просто:

local_name домен-раз {
        ssl_cert = </etc/email/certs/домен-раз.crt
        ssl_key = </etc/email/certs/домен-раз.key

local_name домен-два {
        ssl_cert = </etc/email/certs/домен-два.crt
        ssl_key = </etc/email/certs/домен-два.key

А у exim:

# TLS/SSL
tls_advertise_hosts = *
tls_certificate = ${if exists{/etc/exim/ssl/${tls_sni}.crt}{/etc/exim/ssl/${tls_sni}.crt}{/etc/exim/ssl/exim.crt}}
tls_privatekey = ${if exists{/etc/exim/ssl/${tls_sni}.key}{/etc/exim/ssl/${tls_sni}.key}{/etc/exim/ssl/exim.key}}

В конце указано явно, что если всё что до {/etc/exim/ssl/exim.crt} отсутствует, то цепляем exim.crt. Но {/etc/exim/ssl/${tls_sni}.crt} вводит меня в ступор.

Про SNI прочитал, но так и не понял как ${tls_sni}.crt понимает, что искать именно такой-то сертификат? Пробовал разместить domain1.crt, но не цепляется.

Объясните, как работает ${tls_sni}.crt?

|tls_sni|Use: smtp|Type: string*|Default: unset|
# This _should_ be the name which the smarthost operators specified as the hostname for sending your mail to.
tls_sni = ROUTER_SMARTHOST
The deprecated $tls_sni variable refers to the inbound side except when used in the context of an outbound SMTP delivery, when it refers to the outbound.

bass ★★★★★ ()

Про SNI прочитал, но так и не понял

Что конкретно не понял? Какое слово непонятно?

${tls_sni}.crt


Преобразуется в
Домен-раз.crt
Домен-два.crt

Коннект с использованием sni можно эмулировать тулзой openssl connect, и смотреть какой сертификат отдается.

Bers666 ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.