从 IIS 调用相同的 HttpWebRequest 会导致 IIS Express 中的证书错误吗?
Does calling the same HttpWebRequest from IIS lead to certificate error in IIS Express?
我的 IP 地址被列入白名单,以便能够连接到我们工作网络上的服务器,因此我可以从我一直在为客户更新的 Webforms 网站连接到它。我从该网站创建了一个 HttpWebRequest,该网站连接到我的 IP 已列入白名单的服务器,一切正常。现在我想将相同的代码连接到我正在处理的 API,但我收到以下错误:
System.Net.WebException: 'The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.'
我是 运行 通过 IIS 的 Webforms 站点和 API 通过 IIS Express 的 Webforms 站点。这种配置差异是我问题的根源吗?
我正在从本地(例如 C:\Myfile)HTML 文件调用 API 并链接 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() 调用中。
我忘了我在第一段代码中添加了以下内容以使其工作:
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
我的 IP 地址被列入白名单,以便能够连接到我们工作网络上的服务器,因此我可以从我一直在为客户更新的 Webforms 网站连接到它。我从该网站创建了一个 HttpWebRequest,该网站连接到我的 IP 已列入白名单的服务器,一切正常。现在我想将相同的代码连接到我正在处理的 API,但我收到以下错误:
System.Net.WebException: 'The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.'
我是 运行 通过 IIS 的 Webforms 站点和 API 通过 IIS Express 的 Webforms 站点。这种配置差异是我问题的根源吗?
我正在从本地(例如 C:\Myfile)HTML 文件调用 API 并链接 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() 调用中。
我忘了我在第一段代码中添加了以下内容以使其工作:
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };