我试图调用和使用与mvc应用程序相同的api,默认情况下,所有请求都必须在https上运行:
我所做的工作如下:
using (var client = new HttpClient())
{
var productDetailUrl = Url.RouteUrl(
"DefaultApi",
new { httproute = "", controller = "ProductDetails", id = id },
Request.Url.Scheme
);
var model = client
.GetAsync(productDetailUrl)
.Result
.Content.ReadAsAsync<ProductItems>().Result;
return View(model);
}但是,我得到了以下错误:
The remote certificate is invalid according to the validation procedure我知道我可以使用以下方法传递这个问题,但是在生产环境中这是一个安全风险。
ServicePointManager
.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => true;发布于 2015-02-26 16:04:51
似乎你和一个不可信的权威合作,可能是自我签名。
可以将自签名证书安装到受信任的CA存储区。
下面是一个链接,它解释了如何做到这一点。
如果它已经被信任,那么我想您的API和web应用程序有两个不同的域名,并且证书只颁发给其中一个。在这种情况下,您可能需要发出一个外卡证书来使用www.example.com (您是web的)或(api.example.com)。
https://stackoverflow.com/questions/28746957
复制相似问题