У меня есть ферма веб-серверов 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-адреса), не могли бы вы подключиться к каждому из них и посмотреть, у какого из них проблемы с сертификатом?
Для каждого узла: