Я использую этот код, чтобы сделать запрос на заданный URL:HttpWebRequest для SSL не удается
private static string GetWebRequestContent(string url)
{
string sid = String.Empty;
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.KeepAlive = false;
using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())
{
using (StreamReader sr = new StreamReader(res.GetResponseStream()))
{
sid = sr.ReadToEnd().Trim();
}
}
return sid;
}
Я использую его, чтобы проверить stickyness произведения балансировки нагрузки, с 3-мя серверами за ним , Все они имеют статический HTM-файл с именем sid.htm, где записывается идентификатор сервера сервера.
Для URL-адресов с HTTP это работает нормально. Но с HTTPS это не сработает. Я получаю это исключение:
Запрос был прерван: не удалось создать безопасный канал SSL/TLS.
На данный момент у меня есть только 2 сервера позади WLB, а один - с открытым IP-адресом за брандмауэром. Запросы HTTPS работают нормально, если я попал на автономный сервер, но когда я попал в WLB, я получил вышеприведенную ошибку.
Одна вещь: Чтобы переключиться между ударом по одному серверу и WLB, я использую файл моих хостов. Записи DNS для моего домена указывают на единственный сервер на данный момент. Поэтому я поместил запись в файл моих хостов, чтобы попасть в WLB. Это не должно вызывать проблем ...
Мой вопрос: Какие SSL-сертификаты/сертификаты используются HttpWebRequest? Если он использует 40-битный DES или 56 бит DES, это причина, потому что они отключены в WLB. Но эти сертификаты не использовались в браузерах, поскольку IE3 и Netscape 1 и 2.