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

简介: 本文探讨Azure APIM自建网关信任自签名证书的第四种方案——通过`az aks update --custom-ca-trust-certificates`将CA证书注入AKS节点。经验证,该方法仅作用于节点系统层,对Pod内运行的APIM网关容器无效(因其使用.NET TLS路径,不读取系统CA)。最终确认:解决信任问题仍需回归前三种Pod级方案(如环境变量SSL_CERT_FILE、镜像预装或跳过验证)。

问题描述

在先前的四篇博文

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

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

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

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

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

我们分别介绍了使用OpenSSL生成自签名证书,然后解决APIM服务对自签名证书的信任问题。不论是APIM托管的网关,还是自建的网关都可以通过安装证书后使得请求受信任,通过配置API跳过证书验证环节。

在方案三中,开始从自建网关本身AKS POD”方面入手,通过配置 SSL_CERT_FILE 环境变量,来安装自签名证书 (根证书和中间证书)到POD中解决问题。

除了以上三种方案的情况下:在AKS集群的官方文档中,说可以直接更新集群,把自定义证书颁发机构(CA)向节点的信任存储添加多达 10 个 base64 编码的证书。

所以,基于这个文档,本文尝试了第四种方案:使用 az aks update  --custom-ca-trust-certificates 证书命令

 

方案步骤

准备步骤:准备好中间证书和根证书合并一起的 .crt 内容

导出方法:通过浏览器导出中间证书+根证书的 crt 文件,其内容是 Base64 编码

 

第一步:把准备好的证书传递到AKS集群

因aks集群已经创建好,所以使用 az aks update 指令

az aks update \
    --resource-group <resource-group-name> \
    --name <cluster-name> \
    --custom-ca-trust-certificates <path-to-certificate-file>

执行截图

第二步:验证自签名CA证书是否在节点中正常工作

1:使用 kubectl get nodes ,列出节点名称

2:进入节点debug模式:使用 kubectl debug node/<节点名> -it --image=mcr.azk8s.cn/aks/fundamental/base-ubuntu:v0.0.11, 如:kubectl debug node/aks-agentpool-20066971-vmss00000j -it --image=mcr.azk8s.cn/aks/fundamental/base-ubuntu:v0.0.11

3:使用 chroot /host 命令,把操作目录从当前容器环境 切换到 节点操作环境

4:对比访问两个不同自签名CA证书的URL

 

操作结果截图:

 

第三步:访问APIM的自建网关请求,自签名证书依旧不被信任。

 

为什么呢?把自签名的根证书,中间证书都安装到AKS集群中了,为何使用debug模式就可以信任这个自签名证书,而 APIM Self-hosted gateway pod却不可以呢?

疑问解答

Debug pod 之所以能信任,是因为它用的是通用 Ubuntu 基础镜像,走的是系统 CA bundle;

APIM Self‑hosted Gateway 用的是微软封装的网关容器 + .NET TLS 验证路径,完全不看 node 的 CA。

这一点在 AKS 官方文档中是明确写清楚的:“Certificates added to the AKS node trust store aren’t available to containers running in pods.”

AKS Node 安装 CA,只对 Node 生效,对 Pod 无效。 这一点,在文章开头的官方文档截图中,也特别提醒。只是,最开始没有正确理解这句话的意义!

 

所以,如果要解决APIM 中自签名CA证书的信任问题。目前验证下来,只有三种方式:

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

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

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

 

[完]

 

参考资料

在 Azure Kubernetes 服务(AKS)中使用自定义证书颁发机构(CA) :https://docs.azure.cn/zh-cn/aks/custom-certificate-authority




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

相关文章
|
10月前
|
机器学习/深度学习 移动开发 人工智能
大模型应用:庖丁解牛:QKV机制详解,大模型的注意力之眼.4
QKV机制是Transformer注意力的核心:Query(提问)、Key(标识)、Value(信息)三者通过点积计算相似度,Softmax归一化后加权融合Value,实现动态上下文感知。它能捕捉长程依赖,解决代词消解、一词多义等问题,支撑大模型强大语言理解能力。
2438 7
|
8月前
|
存储 网络协议 Linux
【Azure Container App】Debug Console的调试工具试验(二)-- lsof/ util-linux / netcat / wget
本文续讲Azure Container App Debug Console调试工具试验,详解lsof(端口/文件句柄排查)、util-linux(dmesg/mount/df等系统诊断)、netcat(网络连通性测试)及wget(HTTP端点验证)四大工具的实战用法与典型场景,助力高效排障。
471 8
|
7月前
|
人工智能 监控 网络协议
【App Service】常规排查 App Service 启动 Application Insights 无数据的步骤 (.NET版本)
本文详解Application Insights在Azure App Service中无日志数据的三大原因及排查方法:1)网络连通性(验证到AI端点的443端口访问);2)w3wp.exe进程是否成功加载AI模块;3)DLL冲突(检查并移除重复的Microsoft.ApplicationInsights等组件)。
318 10
|
10月前
|
存储 机器学习/深度学习 弹性计算
阿里云8核16G云服务器收费标准、可选实例规格、价格、应用场景测评
阿里云8核16G云服务器属于中高端算力配置,仅在ECS云服务器系列推出对应规格,无轻量应用服务器版本,1:2的CPU与内存配比让它能兼顾高算力输出和基础内存需求,是中小企业核心业务和大型企业轻量负载的常用选择。2026年该配置的收费标准随实例类型、计费方式、地域选择有明显差异,优惠活动则围绕长期购买折扣、地域专属福利展开,整体定价和福利均贴合不同业务的实际使用需求,适配企业高并发Web服务、中型数据库部署、视频编码、机器学习推理等多种场景。
770 10
|
10月前
|
存储 弹性计算 测试技术
阿里云2核2G云服务器测评:收费标准与实例规格说明
2026年阿里云2核2G云服务器的定价和优惠围绕不同使用场景、用户类型做了细分,主要分轻量应用服务器和ECS云服务器两大类型,价格从年付38元到99元不等,同时还有海外及中国香港地域的专属定价,整体计费规则清晰,优惠活动也覆盖了新购、续费等不同使用阶段,能适配个人开发、小型企业建站等多种轻量业务需求。
991 1
|
8月前
|
人工智能 安全 索引
【Azure AI Search】AI Search的索引器(Indexer)中使用解码函数base64Decode报错
Azure AI Search索引器使用base64Decode时失败,因默认启用URL安全解码(useHttpServerUtilityUrlTokenDecode=true),而源数据为标准Base64编码。解决方案:在mappingFunction中显式设置`&quot;useHttpServerUtilityUrlTokenDecode&quot;: false`,即可正确解码。
306 6
|
10月前
|
存储 缓存 数据建模
StarRocks + Paimon: 构建 Lakehouse Native 数据引擎
12月10日,Streaming Lakehouse Meetup Online EP.2重磅回归,聚焦StarRocks与Apache Paimon深度集成,探讨Lakehouse Native数据引擎的构建。活动涵盖架构统一、多源联邦分析、性能优化及可观测性提升,助力企业打造高效实时湖仓一体平台。
1076 39
|
8月前
|
人工智能 搜索推荐 网络安全
OpenClaw(Clawdbot)阿里云/本地部署图文教程,附大模型Manus/MaxClaw区别解析
“OpenClaw和Manus到底有啥不一样?”“部署时终端报错不断,太折磨人了”——这是2026年OpenClaw爆火后,用户后台留言最集中的两个问题。作为能接管电脑自主干活的AI代理工具,OpenClaw、Manus、MaxClaw因前端形态相似,让不少用户陷入认知混淆;而部署流程中的技术门槛,更是让很多新手望而却步。
2511 5
|
8月前
|
运维 监控 网络协议
【Azure Container App】Debug Console的调试工具试验(一)-- iputils / net-tools / procps
在使用 Azure Container Apps 时,很多问题只在生产环境出现: 应用无法访问外部服务、端口监听异常、CPU 飙高却找不到原因。 当你进入 Debug Console 后,真正能用的工具到底有哪些? 这些工具又该在什么场景下使用? 本系列文章将对 Debug Console 中预装的调试工具进行逐一实测, 帮你在没有 SSH、没有 VM、没有 kubectl 的情况下完成有效排障。
297 4
|
9月前
|
开发者
【Azure App Service】记录App Service Kudu站点的File Manger中无法查看文件列表的原因
本文描述Azure App Service Kudu控制台中文件目录UI显示为空(实际有文件),但PowerShell的`ls`命令可正常列出的问题。通过浏览器开发者工具定位到Unicode字符编码错误(\uDC6D),根源是文件名含非法代理对字符。解决方案:检查并重命名本地文件。
225 6