Приводит ли вызов того же HttpWebRequest из IIS к ошибке сертификата в IIS Express? - PullRequest
0 голосов
/ 10 мая 2019

Мой IP-адрес был занесен в белый список для возможности подключения к серверу в нашей рабочей сети, поэтому я могу подключиться к нему с веб-сайта Webforms, который я обновляю для клиента.Я сделал запрос HttpWebRequest с этого веб-сайта, который подключается к серверу, на котором мой IP-адрес занесен в белый список, и все в порядке.Теперь я хочу подключить тот же код к API, над которым я работаю, и получаю следующую ошибку:

System.Net.WebException: «Базовое соединение было закрыто: не удалось установить доверительные отношениядля безопасного канала SSL / TLS. '

Я запускаю сайт Webforms через IIS и API через IIS Express.Является ли это различие в конфигурации источником моей проблемы?

Я вызываю API из локального (например, C: \ Myfile) HTML-файла со связанным файлом javascript, поэтому его нет ни в одном типе проекта.такой как проект Webforms.Я подумал, что это может быть причиной расхождения.

var nodeData = Encoding.ASCII.GetBytes("{\"path\": \"" + packageString.Trim() + "\"}");
var nodeRequest = (HttpWebRequest)WebRequest.Create("https://mytransfersite.org/ ");
var nodeAuthHeader = "Basic " + WebConfigurationManager.AppSettings["Auth"];

nodeRequest.Headers.Add(HttpRequestHeader.Authorization, nodeAuthHeader);
nodeRequest.ContentLength = nodeData.Length;
nodeRequest.Method = "POST";
nodeRequest.ContentType = "application/json";
nodeRequest.Accept = "application/json";
using (var stream = nodeRequest.GetRequestStream())
{
  stream.Write(nodeData, 0, nodeData.Length);
}

Ошибка возникает при вызове nodeRequest.GetStream ().

1 Ответ

1 голос
/ 10 мая 2019

Я забыл, что добавил следующий код в первый бит кода, чтобы он работал:

System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
...