Azure Relay HTTPS连接SSL信任问题:本地站点是否需使用公证书?
解答:Azure Relay调用本地HTTPS站点的SSL信任问题
没错,你的猜测完全正确——本地站点要通过Azure Relay被Azure Web App安全调用,确实需要使用公共CA颁发的SSL证书,具体原因和补充方案如下:
- Azure Web App运行在Azure托管的标准化环境中,其默认信任的根证书库只包含全球主流公共CA的根证书,内部CA颁发的证书不在这个信任列表内。当Web App发起HTTPS连接时,会自动验证本地站点证书的信任链,发现无法追溯到受信任的公共根CA,就会抛出
Could not establish trust relationship for the SSL/TLS secure channel with authority这个500级错误。 - 若暂时无法使用公共CA证书,也有两个临时的替代方案,但不建议用于生产环境:
- 在Azure Web App的业务代码中添加自定义证书信任逻辑,手动将内部CA的根证书导入应用的信任存储(比如.NET环境中可以通过
ServicePointManager.ServerCertificateValidationCallback临时跳过证书验证,但这会引入安全风险); - 将本地站点的HTTPS证书导出为PFX格式,上传到Azure Web App的证书存储中,再通过应用配置指定信任该证书。
- 在Azure Web App的业务代码中添加自定义证书信任逻辑,手动将内部CA的根证书导入应用的信任存储(比如.NET环境中可以通过
额外提醒:就算使用了公共CA证书,也要确保证书的Subject或Subject Alternative Name与你在Relay中配置的本地站点域名完全匹配,否则同样会触发SSL验证失败的问题。
内容的提问来源于stack exchange,提问作者Garry_M
相关产品推荐
相关产品推荐

