news 2026/4/3 1:19:57

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Azure APIM】如何解决后端API服务配置自签名证书时APIM请求报错500:Error occured while calling backend service

问题描述

在博文“【Azure 环境】在Windows环境中使用OpenSSL生成自签名证书链步骤分享”,我们通过OpenSSL已经创建了自签名证书PFX文件。

当把证书配置到后端API服务,并且通过APIM作为服务对外提供的网关入口后,发现客户端请求发送到APIM,但是APIM访问后端服务器时候,无法建立Https连接。报错500。

访问流图

错误信息

/* by 01130.hk - online tools website : 01130.hk/zh/htmloutjs.html */forward-request (356.754 ms) { "messages": [/* by 01130.hk - online tools website : 01130.hk/zh/htmloutjs.html */ "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 private

Attackers 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_INVALID

Subject:*.mylubu.com Issuer: My Self Intermediate CA Expires on: Feb29,2028Current date: Jan17,2026PEM encoded chain:-----BEGIN CERTIFICATE-----MIIE3zCCAsegAwIBAgIUVoVVHuMRMxqelxTsX4OPtc3EnuUwDQYJKoZIhvcNAQEL BQAwYTELMAkGA1UEBhMCQ04xEDAO
......
SxmYHLkIM/VbtjWKixl7mKltQMwbUvRMW+vOkZu/ibEtyG+OfGBIA9InKqE0BSng HNIRYgeO7r1AfMtLHUCy+RmC6AueslBWqdSminThQD8HbY+YvGFU9/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.crt

2: 选择 Details 项

3: 点击Copy to File 按钮,在弹出的窗口中直接点击Next

4: 默认选择第一个 DER encoded binary X.509 (.CER)

5: 点击 Next, 在新一个窗口中选择 CER文件的保存路径。

参考资料

在Windows环境中使用OpenSSL生成自签名证书链步骤分享 : https://www.cnblogs.com/lulight/p/19479238

如何在 Azure API 管理中添加自定义 CA 证书 : https://docs.azure.cn/zh-cn/api-management/api-management-howto-ca-certificates

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 12:39:18

PHP环境下,如何编写一个完整的大文件上传与加密解决方案示例?

作为扎根杭州未来科技城的开发者,近期主导了一个高并发大文件传输系统的研发项目,核心需求是基于百度WebUploader组件实现20GB级文件全功能传输,涵盖文件/文件夹的上传下载全链路,并需完整保留文件夹层级结构。以下是技术实现方案…

作者头像 李华
网站建设 2026/3/10 7:59:20

ssm633体育馆篮球馆场地预约网站系统vue

目录系统概述技术架构核心功能创新点应用价值开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统概述 SSM633体育馆篮球馆场地预约网站系统基于Vue.js前端框架与SSM(SpringSpring MVCMyBatis)后端架构开…

作者头像 李华
网站建设 2026/3/10 14:38:32

【Java毕设源码分享】基于springboot+vue的连锁门店管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/3/22 18:38:13

蓝易云 :Linux中的chsh命令及示例

在 Linux 账号体系里,chsh(change shell)用于变更用户的登录 Shell(也就是用户登录后默认启动的命令解释器)。它的核心价值是:把“人—终端—系统”的交互入口标准化,便于团队统一运维基线、提升…

作者头像 李华
网站建设 2026/3/30 15:22:04

基于Hadoop的传染病预防交流平台的设计与实现

一、选题背景与意义 (一)选题背景 当前,突发传染病频发对公共卫生应急响应能力提出更高要求,但传统传染病预防存在信息传播分散、互动性不足、科普精准度低等问题,居民获取权威知识渠道有限,易被不实信息误…

作者头像 李华
网站建设 2026/3/31 23:13:32

永远要用行为去确定关系,而不是用关系去包容行为。我对你的态度是看你的行为决定的,而不是因为我们的关系好。关系的本质是相互行为的持续累积,而非一个可以透支情感的特权账户。真正稳固的关系经得起行为的检验,

“永远要用行为去确定关系,而不是用关系去包容行为。我对你的态度是看你的行为决定的,而不是因为我们的关系好。关系的本质是相互行为的持续累积,而非一个可以透支情感的特权账户。真正稳固的关系经得起行为的检验,而脆弱的关系则…

作者头像 李华