Чтобы быть абсолютно правильным, вы должны поместить все имена в поле SAN.
Поле CN должно содержать имя субъекта, а не имя домена, но когда Netscape обнаружил эту вещь SSL, они не смогли определить его самый большой рынок.
Просто для URL сервера не было определено поле сертификата.
Это было решено, чтобы поместить домен в поле CN, и в настоящее время использование поля CN устарело, но все еще широко используется.
CN может содержать только одно доменное имя.
Общие правила для этого:
CN - укажите здесь свой основной URL (для совместимости)
SAN - поместите здесь весь свой домен, повторите CN, потому что он там не в нужном месте, но используется для этого ...
Если вы нашли правильную реализацию, ответы на ваши вопросы будут следующими:
Имеет ли эта настройка особое значение или какие-либо преимущества [dis] по сравнению с настройкой обоих CN?
Вы не можете установить оба CN, потому что CN может содержать только одно имя.
Вы можете сделать с двумя простыми сертификатами CN вместо одного сертификата CN + SAN, но для этого вам нужно 2 IP-адреса.
Что происходит на стороне сервера, если запрашивается другой, host.domain.tld?
Не имеет значения, что происходит на стороне сервера.
Короче говоря:
Когда клиент браузера подключается к этому серверу, браузер отправляет зашифрованные пакеты, которые зашифрованы с помощью открытого ключа сервера. Сервер расшифровывает пакет, и если сервер может расшифровать, то он был зашифрован для сервера.
Сервер ничего не знает от клиента до расшифровки, потому что только IP-адрес не шифруется через соединение. Вот почему вам нужно 2 IP для 2 сертификатов. (Забудьте о SNI, сейчас слишком много опыта.)
На стороне клиента браузер получает CN, затем SAN, пока все они не будут проверены.
Если для сайта совпадает одно из имен, то проверка URL была выполнена браузером.
(я не говорю о проверке сертификата, конечно, в сети каждый раз отправляется множество запросов ocsp, crl, aia и ответов.)