SSL работает на сайте, но не в CRM: как проверить имена сертификата

Основной сайт открывается без предупреждений, а при переходе в CRM браузер сообщает, что сертификат выдан для другого имени. Покупать новый сертификат сразу рано: сначала нужно понять, какой адрес открывают, какие имена указаны в сертификате и какой сертификат фактически отдаёт сервер для этого адреса.
Составьте список адресов, которыми действительно пользуются
Включите основной домен, вариант с www, кабинет, CRM, API и другие публичные интерфейсы. Записывайте полное имя каждого узла. crm.example.test и billing.crm.example.test находятся на разной глубине, поэтому для проверки их нельзя объединить в строку «все поддомены CRM».
Отдельно отметьте адреса, которые только перенаправляют на другой сайт. Для HTTPS-перенаправления сначала устанавливается защищённое соединение с исходным адресом. Если на нём ошибка имени, переход на правильную главную страницу не решает проблему начального соединения.
Точное имя и wildcard отвечают на разные вопросы
Точное DNS-имя проверяется целиком. Шаблон с одной звездочкой вместо самой левой метки может совпасть с одним уровнем поддомена. Поэтому *.example.test подходит для crm.example.test, но не для example.test и не для billing.crm.example.test. Слова «сертификат на домен» сами по себе не раскрывают этот состав.
| Открываемое имя | Совпавшая запись | Результат проверки имени | Почему |
|---|---|---|---|
| example.test | example.test | Совпадает | Основной адрес включён отдельно |
| www.example.test | *.example.test | Совпадает | Одна метка вместо звёздочки |
| crm.example.test | *.example.test | Совпадает | Один уровень поддомена |
| billing.crm.example.test | billing.crm.example.test | Совпадает | Вложенный адрес добавлен точной записью |
| api.crm.example.test | Нет | Не совпадает | Для имеющегося wildcard это два уровня |
| example.test.evil.test | Нет | Не совпадает | Совпадение части текста не равно совпадению имени |
Что именно искать в сертификате
Для рассматриваемой проверки нужны DNS-записи dNSName в расширении subjectAltName, часто называемом SAN. В RFC 9525 служебные имена проверяются по типизированным идентификаторам, а строка Common Name не используется как замена этой проверке. IP-адреса относятся к другому типу идентификатора и в инструмент ниже не входят.
Копируйте именно значения DNS-имён, без префикса DNS:, адресной схемы, порта или пути. Форме достаточно example.test; полный URL вида https://example.test/login она отвергнет. Это помогает не перепутать область действия сертификата со страницей внутри сайта.
Как проверить сложный адрес без догадок
- Запишите имя из адресной строки, на котором появляется предупреждение.
- Посмотрите DNS-имена именно выданного для этого соединения сертификата.
- Сравните точные записи и глубину каждой wildcard-маски.
- Если имя совпадает, продолжите диагностику других причин ошибки.
- Если не совпадает, согласуйте изменение состава сертификата или назначение правильного сертификата узлу.
Важно различать «у нас где-то установлен подходящий сертификат» и «этот узел отдаёт его посетителю». На одном сервере могут обслуживаться разные сайты. Копирование списка из файла, которым реально не пользуется нужный виртуальный хост, даст красивую матрицу, но не исправит соединение.
Можно ли убрать предупреждение одним редиректом на основной домен
Редирект полезен для выбора основного адреса, но не заменяет первоначальную проверку HTTPS. Исходное имя тоже должно обслуживаться корректно, прежде чем браузер сможет безопасно получить ответ перенаправления. Не превращайте инструкцию посетителю «пройти дальше несмотря на предупреждение» в способ эксплуатации публичной CRM.
Границы локальной матрицы
Имена сравниваются без учёта регистра ASCII; завершающая точка нормализуется. Международные имена нужно предварительно подготовить в ASCII-представлении A-label. Инструмент не преобразует Unicode и не удостоверяет корректность IDNA. Он проверяет только ограниченный синтаксис ASCII-меток, поэтому такие данные не становятся автоматически достоверными именами сертификата.
Некорректная wildcard-запись отмечается отдельно и исключается из сопоставления; остальные записи продолжают участвовать. Это позволяет увидеть, что ошибка одной маски не делает другую точную запись бесполезной. Звёздочки внутри части метки или сразу в нескольких метках здесь не поддерживаются.
Матрица также не проверяет публичные суффиксы и правила удостоверяющего центра. Даже формальное совпадение с введённым шаблоном не означает, что такой сертификат можно выпустить или что браузер ему доверяет. Результат служит перечнем вопросов к конфигурации, а не заменой TLS-проверки.
Что передать специалисту по сопровождению
Подготовьте список имён, текст предупреждения, время проверки и сведения о том, какой сертификат виден на проблемном узле. Закрытый ключ для первичного сравнения имён не нужен. На сайте Левицкий Концепт есть общий разбор SSL и услуга восстановления домена или сертификата; узкую матрицу удобно использовать перед переносом CRM, добавлением кабинета или перевыпуском, чтобы не забыть вложенные адреса.
Сопоставить имена узлов с DNS-шаблонами сертификата
Только учебное сопоставление DNS-ID: до 100 имён и 100 записей, ASCII, метка до 63 знаков, имя до 253. Регистронезависимо, одна завершающая точка удаляется. Unicode, IP, Common Name, IDNA-преобразование и публичные суффиксы не проверяются. Не читает сертификат, не проверяет доверие, сроки, отзыв, правила выпуска или реальный TLS. Расчёт выполняется на вашем устройстве, введённые данные никуда не отправляются.
Материалы для проверки
Если нужна реализация
Состав работ зависит от текущего проекта и подтверждённой причины. Можно обсудить диагностику или разработку подходящего решения.
