如何解决后端API服务配置自签名证书时APIM请求报错500:Error occured while calling backend service

如何解决后端API服务配置自签名证书时APIM请求报错500:Error occured while calling backend service 访问流图错误信息forward-request (356.754 ms) { messages: [ Error occured while calling backend service., The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel., The remote certificate is invalid according to the validation procedure. ] }在开启APIM调试Trace后可见错误信息面对这个问题需要如何解决呢问题解答因为浏览器发起HTTPS请求后服务器会返回它的证书信息到客户端进行验证。但由于使用的自签名证书的根CA中间证书都不是受信任机构所颁发的证书所以在操作系统中没有内置CA信息所以被浏览器认为这是不受信任的证书。就直接中断连接返回net::ERR_CERT_AUTHORITY_INVALID 错误。HTTPS证书验证流程图当CA证书不受信任的时候浏览器报错如下Your connection is not privateAttackers might be trying to steal your information from lbca.mylubu.com (for example, passwords, messages, or credit cards).Learn more about this warning net::ERR_CERT_AUTHORITY_INVALIDSubject: *.mylubu.com Issuer: My Self Intermediate CA Expires on: Feb 29, 2028 Current date: Jan 17, 2026 PEM encoded chain: -----BEGIN CERTIFICATE----- MIIE3zCCAsegAwIBAgIUVoVVHuMRMxqelxTsX4OPtc3EnuUwDQYJKoZIhvcNAQEL BQAwYTELMAkGA1UEBhMCQ04xEDAO ...... SxmYHLkIM/VbtjWKixl7mKltQMwbUvRMWvOkZu/ibEtyGOfGBIA9InKqE0BSng HNIRYgeO7r1AfMtLHUCyRmC6AueslBWqdSminThQD8HbYYvGFU9/zduVRY/Uic 3wFr -----END CERTIFICATE-----如果对于本地客户端解决方案就是把完整证书链的服务器证书PFX安装到本地就可以。当本地证书库中包含了这个服务器证书的中间证书根证书后浏览器访问就会被信任。但是在APIM服务上应该如何处理呢根据官方文档 “如何在 Azure API 管理中添加自定义 CA 证书”的介绍APIM服务支持上传CA证书。在AIPM的证书管理页面因为我们的服务器证书是一张包含根证书中间证书服务器证书的完整证书链证书所以心想是否可以直接上转这一张证书就可以了呢实验证明不可以错误实验第一步上传服务器证书到CA Certificates错误实验第二步访问APIM接口错误依旧正确实验按照要求先后上传了根CA中间CA证书。再次访问APIM接口获取200返回问题解决自签名证书验证成功。注意在上传证书页面只支持cer和pfx格式证书(File extension for rootCA.crt is not present in the allowed file extensions list - cer,pfx)。所以openSSL生成的.crt 证书可以通过Windows中双击打开文件后选择导出为CER证书。1: 双击 rootCA.crt2: 选择 Details 项3: 点击Copy to File 按钮在弹出的窗口中直接点击Next4: 默认选择第一个 DER encoded binary X.509 (.CER)5: 点击 Next 在新一个窗口中选择 CER文件的保存路径。