我们有一个Azure网络应用程序,需要通过VPN调用内部Web服务
我们已经配置了所有内容,但由于我们的非生产内部服务器上的Web服务使用自签名证书,因此调用失败:
根据验证,远程证书无效 过程
在本地,我们可以将.cer导入受信任的人。
如何在Azure上实现这一目标?
答案 0 :(得分:2)
您无法将.cer文件导入Azure Web App服务器。如果您可以修改代码,则可以实施变通方法,创建自己的证书验证。一个例子:
ServicePointManager.ServerCertificateValidationCallback += (
object sender,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors sslPolicyErrors) =>
{
if (sslPolicyErrors == SslPolicyErrors.None)
{
return true;
}
else
{
var myGoodCert = X509Certificate.CreateFromCertFile(Server.MapPath("~/path/to/mycert.cer"));
return myGoodCert.Equals(certificate); // compares issuer and serial number
}
};
请记住将.cer文件与您的Web应用程序文件一起部署,或将其放在可从Web应用程序访问的位置(azure blob存储,sql上的blob等等)