Azure Web App使用自签名SSL证书调用本地服务

时间:2015-12-10 13:33:29

标签: azure ssl ssl-certificate self-signed

我们有一个Azure网络应用程序,需要通过VPN调用内部Web服务

我们已经配置了所有内容,但由于我们的非生产内部服务器上的Web服务使用自签名证书,因此调用失败:

  

根据验证,远程证书无效   过程

在本地,我们可以将.cer导入受信任的人。

如何在Azure上实现这一目标?

1 个答案:

答案 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等等)