Назад | Перейти на главную страницу

Как смоделировать подключение к HTTPS и записать рукопожатие?

У меня есть ферма веб-серверов IIS 6, на которой размещен веб-сайт через HTTP и HTTPS. В Safari 4 на Mac при подключении через HTTPS некоторые узлы в ферме запускают браузер, чтобы вывести пользователю ошибку сертификата, другие узлы работают нормально. Всегда одни и те же узлы вызывают проблему, но проблема не возникает в IE или Chrome.

Я предполагаю, что эти узлы в ферме настроены неправильно, но я не могу легко определить проблему, глядя на настройки отдельных серверов. Я хотел бы указать инструмент на стороне клиента на заведомо исправный узел и записать приветствие клиента и сервера SSL, сообщение сертификата, обмен ключами и т. Д. С точки зрения клиента, в незашифрованном виде, а затем повторить на узле с известной проблемой, а затем сравнить.

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

Я часто использовал S_client OpenSSL. Я не понимаю, почему Версия Win32 не должно работать так же.

Вы можете использовать следующую команду, чтобы подробно рассказать о подтверждении SSL:

openssl s_client -debug -msg -state -status -showcerts -connect <host>:443

Затем вы можете отказаться от некоторых аргументов, если не хотите болтать.

Вы также можете указать -CAfile с вашим единственным подписывающим CA.

Статья Первые несколько миллисекунд HTTPS-соединения объясняет, что вы ищете.

Взгляните на fiddler2 - http://www.fiddler2.com

"Fiddler - это прокси-сервер веб-отладки, который регистрирует весь трафик HTTP (S) между вашим компьютером и Интернетом. Fiddler позволяет вам проверять весь трафик HTTP (S), устанавливать точки останова и" играть "с входящими или исходящими данными. Fiddler включает мощная подсистема сценариев на основе событий и может быть расширена с использованием любого языка .NET ».

Fiddler - отличный инструмент для веб-отладки общего назначения. Теперь, для ваших целей, вы можете объединить совет Дэвида относительно подключения к каждому из серверов индивидуально с возможностью отслеживать от Fiddler, что происходит. Очевидно, важно знать, к какому серверу вы подключаетесь, чтобы вы могли точно определить, в чем проблема.

Как настроена ферма? Если вы видите каждый узел фермы (т.е. вы находитесь в одной сети напрямую или через VPN, или у них есть общедоступные IP-адреса), не могли бы вы подключиться к каждому из них и посмотреть, у какого из них проблемы с сертификатом?

Для каждого узла:

  • полностью закройте браузер (в случае, если он кэшировал IP-адрес, связанный с именем, поскольку мы собираемся изменить эту ассоциацию локально на следующем шаге)
  • свяжите его прямой адрес с (под) доменным именем, которое, как вы ожидаете, будет в сертификате, добавив запись в ваш файл hosts (c: \ windows \ system32 \ drivers \ etc \ hosts в большинстве конфигураций Windows)
  • откройте свой браузер и перейдите на сайт