Рейтинг:1

SSL-сертификаты явно сбивают с толку разные веб-сайты

флаг ug

Мой VPS содержит около дюжины веб-сайтов с несколькими SSL-сертификатами, включая следующие.

  • *.railtrax.com
  • *.insiderarticles.com

В настоящее время все *.railtrax.com сайты работают нормально. Но *.insiderarticles.com веб-сайт (у меня только один) выдает ошибку в браузере (обратите внимание на последний абзац).

Ваше соединение не является частным

Злоумышленники могут пытаться украсть вашу информацию с Insiderarticles.com (например, пароли, сообщения или кредитные карты).

NET::ERR_CERT_COMMON_NAME_INVALID

Этот сервер не смог доказать, что это Insiderarticles.com; его сертификат безопасности от *.railtrax.com. Это может быть вызвано неправильной настройкой или злоумышленником, перехватывающим ваше соединение.

Как видите, сертификат на Insiderarticles.com говорит, что он был выдан *.railtrax.com.

Сертификат Insiderarticles.com

сертификат Insiderarticles.com

Но у меня выбран правильный сертификат.

Insiderarticles.com Диалоговое окно «Редактировать привязки»

Insiderarticles.com Диалоговое окно «Редактировать привязки»

Если я использую Jexus для запуска диагностики привязки, я получаю следующие ошибки:

ПРИВЯЗКА: http 74.208.136.116:80:insiderarticles.com
Обнаружен конфликтующий диапазон зарезервированных портов TCP. Запустите «netsh int ipv4 show excludeportrange protocol=tcp» в командной строке для устранения неполадок.

ПРИВЯЗКА: http 74.208.136.116:80:www.insiderarticles.com
Обнаружен конфликтующий диапазон зарезервированных портов TCP. Запустите «netsh int ipv4 show excludeportrange protocol=tcp» в командной строке для устранения неполадок.

ПРИВЯЗКА: https 74.208.136.116:443:insiderarticles.com
Обнаружен конфликтующий диапазон зарезервированных портов TCP. Запустите «netsh int ipv4 show excludeportrange protocol=tcp» в командной строке для устранения неполадок.

ПРИВЯЗКА: https 74.208.136.116:443:www.insiderarticles.com
Обнаружен конфликтующий диапазон зарезервированных портов TCP.Запустите «netsh int ipv4 show excludeportrange protocol=tcp» в командной строке для устранения неполадок.

И если я запускаю предложенную команду, я получаю следующее.

введите описание изображения здесь

Но мне это не помогает.

Все остальное в сертификатах кажется действительным. Я установил сертификат для *.insiderarticles.com и он работал нормально. После того, как я установил сертификат для *.railtrax.com, это, скорее всего, когда Insiderarticles.com перестал работать.

Может ли это иметь какое-то отношение к Требовать указания имени сервера флажок? Этот флажок был установлен для Insiderarticles.com и сняты галочки для всех *.railtrax.com сайты. Я попытался проверить эту опцию для всех *.railtrax.com веб-сайты, но это не имело никакого значения.

Может ли кто-нибудь порекомендовать следующие шаги для устранения этой проблемы?

флаг de
Это говорит вам, почему имя недействительно. URL-адрес — *.insiderarticles.com, но сертификат не соответствует этому и говорит, что он предназначен для *.railtrax.com. Похоже, что неправильный сертификат (инсайдерские статьи) привязан к неправильному сайту (railtrax), и вам необходимо связать сертификат railtrax (и промежуточный) с сайтом railtrax. Либо так, либо перевыпустите сертификат с обоими значениями в альтернативном имени субъекта, если они связаны, и привяжите их к обоим.
Jonathan Wood avatar
флаг ug
@Dallas: в диалоговом окне редактирования привязок я выбираю правильные сертификаты из раскрывающегося списка. Как еще может быть связан неправильный сертификат с сайтом?
Lex Li avatar
флаг vn
Какие бы изменения вы ни внесли в IIS Manager, они сохраняются в Windows HTTP API, https://docs.jexusmanager.com/tutorials/https-binding.html#background. Поэтому, если что-то не так, следуйте принципам и проверьте, что не так.
Jonathan Wood avatar
флаг ug
@LexLi: я установил этот инструмент, но я действительно не знаю, как он мне помогает.Надеялся, что кто-то, кто знаком с основами настройки SSL-сертификатов, сможет ответить на пару вопросов.
Lex Li avatar
флаг vn
Я не просил вас запускать диагностику привязки, так как это не имеет значения, но посоветовал вам узнать, как Windows HTTP API сопоставляет входящие HTTPS-запросы с соответствующими сертификатами. Ответ, который вы приняли ниже, просто говорит то же самое, но не указывает соединение с HTTP API.
Jonathan Wood avatar
флаг ug
@LexLi: Нет, вы не говорили мне запустить диагностику привязки. Вы отослали меня к учебнику, который, кажется, охватывает очень много деталей, и сказали мне следовать ему. Должно быть ясно, что я ищу кого-то, кто мог бы помочь сузить круг вопросов. Публикация ссылки не делала этого.
Рейтинг:1
флаг us

Изначально для пары IP:порт можно было использовать только один сертификат IIS. Это произошло потому, что заголовок хоста не виден во время установления связи SSL, когда IIS выбирает сертификат для использования.

Как решение этого ограничения СНИ был представлен. Он доступен в IIS 8 и более поздних версиях и поддерживается современными браузерами (список здесь). Вам следует включить SNI для всех веб-сайтов, но вы можете отключить его для веб-сайта, который будет использоваться устаревшими браузерами, не поддерживающими SNI. Эти устаревшие браузеры по-прежнему будут получать ошибку несоответствия имени сертификата SSL.

Итак, ваш вариант один из следующих:

  • если поддержка устаревших браузеров не важна, включите SNI для всех веб-сайтов, кроме того, который вы выбрали по умолчанию для устаревших браузеров.
  • добавить еще один общедоступный IP-адрес на ваш сервер. Привязать каждый сертификат к разной паре IP:порт
  • приобрести один сертификат, который может охватывать оба подстановочных домена. Он называется сертификатом Multi-Domain Wildcard SSL или сертификатом SAN.
Jonathan Wood avatar
флаг ug
Спасибо, но оба сертификата являются сертификатами с подстановочными знаками (вы можете увидеть звездочку в диалоговом окне сертификата). У меня есть еще один сертификат без подстановочных знаков на сайте. Но это, кажется, работает нормально.
Jevgenij Martynenko avatar
флаг us
Я обновил свой ответ с более подробным объяснением
Jonathan Wood avatar
флаг ug
Спасибо. Значит, SNI не играет во всем этом никакой роли?
Jevgenij Martynenko avatar
флаг us
Извините, я полностью пропустил эту часть. Обновлен мой ответ
Рейтинг:1
флаг ug

Я сейчас думаю, что Требовать указания имени сервера это проблема.

Я указал, что пытался проверить эту опцию для всех моих railtrax.com веб-сайты и что это не имело значения. Глядя снова сегодня, кажется, я пропустил один. После проверки этого, теперь, похоже, он работает.

Возможно, здесь дело в чем-то другом. Но пока кажется, что это ответ. Я немного удивлен, что больше людей здесь не знакомы с этим.

Рейтинг:0
флаг ms

Я была такая же проблема. Но в моем случае один из сайтов имел привязку только к порту 80. Мне пришлось добавить привязку HTTPS, а затем выбрать SNI.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.