Я решаю проблему с поставщиком SAS.Чтобы было ясно, этот вопрос не в том, «как мне это исправить?», И не в том, «что именно вызывает эту проблему?» -- скорее, "как работают эти технологии, чтобы такое сочетание симптомов стало возможным?" У меня уже открыта заявка на поддержку поставщика (и я с меньшим терпением жду, пока она будет передана кому-то достаточно компетентному). Цель этого вопроса — расширить мое собственное понимание того, как эти вещи (обычно?) работают, и какие переменные могут быть в игре, которые я не учел.
Указанный поставщик предоставляет функцию «настройки домена», с помощью которой вы можете получить доступ к их услугам через домен, которым вы управляете. (Вы предоставляете им закрытый ключ, а также сертификат с цепочкой и добавляете запись CNAME, указывающую на домен, находящийся под контролем поставщика.)
У меня есть два «арендатора» с этим поставщиком — один для целей разработки и один для производства. Оба настроены с пользовательскими доменами. Они используют один и тот же сертификат и PK; сертификат имеет производственный домен в качестве своего CN, а домены dev и prod указаны как SAN.
Производственный арендатор работает отлично, поэтому я знаю, что сертификат правильный. Однако, когда я посещаю клиент dev в своем браузере, примерно в 80-90% случаев я получаю ошибку сертификата, и когда я исследую, мой браузер сообщает, что представленный сертификат действителен, но не мой, а скорее один который принадлежит поставщику (и поэтому мой домен не указан как CN или SAN). Я пробовал разные браузеры. я пытался завиток
. Я пробовал удаленно подключаться к различным серверам, к которым у меня есть доступ, и проверять оттуда. Мои коллеги, разбросанные по США, тоже пытались. Поведение не зависит от клиентского программного обеспечения, клиентского оборудования, географического положения или конфигурации сети.
В этот момент моего процесса я думаю: «Хорошо, у них есть пул серверов за балансировщиком нагрузки, и у некоторых серверов нет правильного сертификата, поэтому они представляют что-то еще в каком-то запасном варианте. ." Конечно, хорошо, имеет смысл.
Но потом я попытался Инструмент безопасности веб-сайта DigiCert, где вы можете ввести домен, и он оценит правильность вашего сертификата (среди прочего). Используя этот инструмент, я не могу воспроизвести прерывистое поведение; вместо этого он терпит неудачу каждый раз.
Как инженер-программист с несколькими десятилетиями опыта создания веб-сайтов и сервисов в различных стеках, я достаточно хорошо разбираюсь в DNS, HTTPS, сертификатах TLS, конфигурации веб-сервера, сетевой маршрутизации, балансировке нагрузки и так далее. Но я озадачен тем, как валидатор DigiCert может видеть поведение, отличное от того, которое вижу я сам.
Моей первой мыслью была задержка распространения DNS, но DNSChecker указывает на отсутствие такой проблемы. Затем я подумал, что DigiCert может что-то кэшировать на своей стороне, но это будет явным недостатком их инструмента. В обоих случаях вероятность такого объяснения уменьшилась, поскольку такое поведение сохраняется в течение нескольких дней.
Итак, мой вопрос к тем, у кого больше опыта в этом, чем у меня: какие возможные объяснения существуют для того, чтобы опыт инструмента DigiCert отличался от любого другого клиента, который я пробовал?
(Извините, если это не тот сайт SE для подобного вопроса. Это казалось лучшим выбором, чем Network Engineering, и когда я просматривал свои варианты, я не видел других, которые выглядели бы правильно.)