【Azure APIM】APIM的自建网关如何解决自签名证书的受信任问题呢?(方案一)

简介: 本文详解在Azure APIM自建网关部署于AKS时,如何解决HTTPS自签名证书不被信任的问题。通过上传根/中间证书、调用REST API标记为可信,实现POD内证书信任,确保后端服务安全通信。

问题描述

在先前的两篇博文

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

2:【Azure 环境】在Windows环境中使用OpenSSL生成自签名证书链步骤分享

我们介绍了使用OpenSSL生成自签名证书,然后解决APIM服务对自签名证书的信任问题。

现在,APIM可以自建网关(Self-host gateway), 把APIM的功能部署在自己管理的AKS环境中,使用Self-host gateway功能。

新的调用流程图如下:

现在,也会面临一个同样的问题,如何在AKS中的POD中,让请求HTTPS的自签名证书得到信任呢?

 

如果,只是根据文档把自建网关部署完成,访问AKS服务对外提供的IP地址,就会遇见错误:

errors: [{"elapsed":360,"source":"request-forwarder","path":"forward-request\forward-request","reason":"BackendConnectionFailure","message":"The remote certificate was rejected by the provided RemoteCertificateValidationCallback.","section":"backend"}]

## 使用kubectl logs <pod name> 查看日志:

 

问题解答

在官方文档中,有提供方案。但是,它的描述实在是太简单了,理解难度高,根据文档的可操作程度底。

为自托管网关创建自定义 CA

(Link: https://docs.azure.cn/zh-cn/api-management/api-management-howto-ca-certificates)

如果使用 自承载网关,则不支持通过上传到 API 管理服务的 CA 根证书验证服务器和客户端证书。 若要建立信任,请配置特定的客户端证书,使其被网关作为一个自定义的证书颁发机构所信任。

使用 网关证书颁发机构 REST API 为自承载网关创建和管理自定义 CA。 创建自定义 CA 的步骤:

  1. 将证书 .pfx 文件添加到 API 管理实例。
  2. 使用 网关证书颁发机构 - 创建或更新 REST API 将证书与自管理网关相关联。

两个步骤1)上传证书,2)标记证书为可信任。 但是,实际操作起来,面对的疑问是:

  • 证书书 .pfx 文件时什么呢?
  • 它是服务器证书?
  • 是根证书?
  • 还是中间证书?
  • REST API的URL中的certificateId如何得到呢?
  • Request body内容是什么呢? isTrusted 值设置为False表示证书被受信任,还是表示这个证书是一个不被信任的证书呢?

在经过反复实验后,终于成功的解决自签名证书受信任的问题。

 

分享图示步骤

第一步:把根证书,中间证书上传到APIM的Certificate目录中(注意:不是CA Certificate目录)

第二步:调用 Gateway Certificate Authority - Get 方法获取第一步上传证书的certificateId

在中国区的API Endpoint为:GET  https://management.chinacloudapi.cn/subscriptions/<00000000-0000-0000-0000-000000000000>/resourceGroups/<rg1>/providers/Microsoft.ApiManagement/service/<apimService1>/gateways/<gw1>/certificateAuthorities?api-version=2024-05-01

请求的认证Token可以登录到APIM门户上,打开浏览器开发模式(F12), 进入Network项,获取当前APIM页面发送的请求,从其中一个请求头中获取Authorization值即可。

第三步:调用 Gateway Certificate Authority - Update 方法分别设置根证书+中间证书被信任isTrusted:True

调用PUT请求:PUT https://management.chinacloudapi.cn/subscriptions/<00000000-0000-0000-0000-000000000000>/resourceGroups/<rg1>/providers/Microsoft.ApiManagement/service/<apimService1>/gateways/<gw1>/certificateAuthorities/<certificateId>?api-version=2024-05-01

请求认证同上,<00000000-0000-0000-0000-000000000000>, <rg1>, <apimService1>,<gw1> 均需要替换为正确值,<certificateId> 值为第二步返回的根证书ID和中间证书ID

请求Body:

{

  "properties": {

    "isTrusted": true

  }

}

PUT请求截图:

(对根证书,中间证书均需要完成同样设置)

 

以上步骤完成后,再一次访问自建网关URL。HTTPS请求成功,自签名证书被信任。

 

【完】

 

 

 

参考资料

为自托管网关创建自定义 CA : https://docs.azure.cn/zh-cn/api-management/api-management-howto-ca-certificates#create-custom-ca-for-a-self-hosted-gateway

 



 

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

相关文章
|
1月前
|
SQL 人工智能 分布式计算
从工单、文档到结构化知识库:一套可复用的 Agent 知识采集方案
我们构建了一套“自动提取 → 智能泛化 → 增量更新 → 向量化同步”的全链路自动化 pipeline,将 Agent 知识库建设中的收集、提质与维护难题转化为简单易用的 Python 工具,让知识高效、持续、低门槛地赋能智能体。
361 36
|
25天前
|
边缘计算 缓存 运维
边缘不是云的缩小版:K3s、KubeEdge 在受限网络下的真实部署经验
边缘不是云的缩小版:K3s、KubeEdge 在受限网络下的真实部署经验
128 4
|
30天前
|
数据采集 人工智能 IDE
告别碎片化日志:一套方案采集所有主流 AI 编程工具
本文介绍了一套基于MCP架构的轻量化、多AI工具代码采集方案,支持CLI、IDE等多类工具,实现用户无感、可扩展的数据采集,已对接Aone日志平台,助力AI代码采纳率分析与研发效能提升。
421 46
告别碎片化日志:一套方案采集所有主流 AI 编程工具
|
25天前
|
负载均衡 算法 NoSQL
如何保障分布式IM聊天系统的消息有序性(即消息不乱)
本篇主要总结和分享分布式IM聊天系统架构中关于消息有序性的设计和实践。
126 17
|
10天前
|
存储 运维 自然语言处理
OpenClaw阿里云上一键部署上云指南,让OpenClaw(原Clawdbot)24小时为你工作
OpenClaw(原Clawdbot、Moltbot)是一款开源AI自动化代理平台,核心依托大语言模型的自然语言理解能力,无需用户掌握编程技能,仅通过日常语言指令即可完成办公自动化、文件管理、多工具协同、基础开发辅助等多元任务,兼容主流大语言模型,可灵活对接各类应用接口与私有知识库,适配个人办公、轻量团队协作等多种场景。2026年,阿里云轻量服务器针对OpenClaw优化推出专属一键部署方案,通过预置应用镜像,跳过手动配置依赖、调试运行环境的复杂步骤,大幅降低部署门槛,同时依托云端基础设施实现7×24小时不间断运行,让OpenClaw持续为用户处理自动化任务,兼顾便捷性、稳定性与低成本,成为个
216 9
|
15天前
|
弹性计算 运维 应用服务中间件
ECS和轻量应用服务器选哪个?阿里云轻量和ECS有什么区别?2026新手实测
阿里云ECS与轻量应用服务器核心区别:ECS功能全面、弹性强,适合企业级高负载场景;轻量服务器开箱即用、操作简单、性价比高,专为个人开发者、学生及低流量网站(博客、测试环境等)设计。2026实测对比涵盖场景、配置、带宽、计费、运维等维度,助你一键选对!
|
24天前
|
云安全 安全 Cloud Native
阿里云智能云原生应用保护平台CNAPP(原安全中心)详解:费用价格、功能优势及问题解答FAQ
阿里云全新升级智能云原生应用保护平台(CNAPP),融合CWPP、CSPM、CIEM、CTDR四大能力,提供覆盖“事前-事中-事后”的全链路安全防护。支持多云纳管、自动威胁响应与合规检查,助力企业实现安全左移、风险可视、响应自动化。
|
25天前
|
编译器 C语言 C++
VSCode电脑版下载安装使用教程:轻松设置中文界面(附安装包,2026最新)
本文手把手教你完成VSCode下载、安装、汉化及配置C/Python开发环境,零基础也能快速上手,轻松开启编程之旅。
821 10
|
存储 缓存 NoSQL
阿里云 Tair KVCache 仿真分析:高精度的计算和缓存模拟设计与实现
阿里云 Tair 推出 KVCache-HiSim,首个高保真 LLM 推理仿真工具。在 CPU 上实现<5%误差的性能预测,成本仅为真实集群的1/39万,支持多级缓存建模与 SLO 约束下的配置优化,助力大模型高效部署。