Имитация завершения SSL с IIS Express - PullRequest
2 голосов
/ 06 февраля 2012

В нашей производственной среде веб-сайт работает по протоколу HTTPS, SSL завершается на балансировщике нагрузки и передает трафик на серверы IIS в виде HTTP.

Существуют различные внутренние и сторонние компоненты и элементы управления на сайте, и некоторые из них используют механизмы, аналогичные свойству .NET System.Web.HttpRequest.IsSecureConnection, которое просто запрашивает серверную переменную HTTPS, чтобы вернуть ее результат. Так как соединение с веб-сервером из балансировщика нагрузки - HTTP, эти методы возвращают неверное значение и вызывают сбой некоторых компонентов. Например, компонент может направить пользователя к URL-адресу HTTP вместо HTTPS для файла JavaScript и заставить браузер не загружать смешанный контент.

Чтобы отладить эти компоненты и разработать обходной путь, мне нужно пересоздать этот сценарий на моей машине для разработки. У меня вопрос: есть ли простой способ симулировать внешне разорванное SSL-соединение для среды разработки Visual Studio / IIS Express?

1 Ответ

2 голосов
/ 07 февраля 2012

Я нашел способ, используя Мастер переадресации портов .

Создайте одно сопоставление TCP с портом прослушивания, установленным на резервный порт (например, 443), с назначением в качестве локального хоста с веб-сервером.порт (например, 80).Оставьте все остальное по умолчанию, но зайдите в SSL Encryption и сгенерируйте корневой ключ и сертификат в CA Center.После этого выберите Включить шифрование SSL и выберите Сервер.Сгенерируйте файл с закрытым ключом, файл Cert Req и сертификат, а затем отправьте его своему дяде, и вы перестанете перенаправлять SSL на ваш локальный сервер IIS Express: просто запустите сопоставление портов, а затем подключитесь к https://localhost с помощью веб-браузера (указав порт, если он не 443).

...