当前位置: 首页 > news >正文

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

问题描述

在先前的三篇博文

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

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

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

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

正如常规的证书验证中,客户端是可以跳过证书验证这一环节的:如:浏览器的继续访问不安全的网站提示窗口, curl -k 命令等

image

那么,在APIM的配置上,是否可以直接设置忽略证书验证呢?

 

问题解答

可以的,APIM可以设置对后端的HTTPS自签名证书的验证过程为禁用。使得APIM网关服务能和后端服务进行HTTPS通信。

官方文档说明如下:

禁用自签名证书的证书链验证

参考文档:https://docs.azure.cn/zh-cn/api-management/api-management-howto-mutual-certificates#disable-certificate-chain-validation-for-self-signed-certificates

如果使用自签名证书,则需要禁用证书链验证,使 API 管理能够与后端系统通信。 否则,你将获得 500 错误代码。

若要禁用此验证,可以使用New-AzApiManagementBackend(用于新后端)或Set-AzApiManagementBackend(对于现有后端)PowerShell cmdlet 并将参数设置为-SkipCertificateChainValidationTrue

$context = New-AzApiManagementContext -ResourceGroupName 'ContosoResourceGroup' -ServiceName 'ContosoAPIMService'
New-AzApiManagementBackend -Context  $context -Url 'https://contoso.com/myapi' -Protocol http -SkipCertificateChainValidation $true

还可以使用后端 REST API 禁用证书链验证。

实际的操作中,需要使用到APIM中的 Backend 功能

第一步:新建或修改Backend

可以使用Powershell脚本来创建新的backend,示例脚本如下:

# 登录Azure China
Connect-AzAccount -Environment AzureChinaCloud# 修改APIM
$apimContext = New-AzApiManagementContext -ResourceGroupName "your resource group name" -ServiceName "your apim name"# 对已存在的backend进行修改
Set-AzApiManagementBackend -Context  $apimContext -Url 'https://lbca.mylubu.com' -Protocol http -SkipCertificateChainValidation $true# 新建backend 并设置  -SkipCertificateChainValidation $true
New-AzApiManagementBackend -Context  $apimContext -Url 'https://lbca.mylubu.com' -Protocol http -SkipCertificateChainValidation $true

执行后的效果:

image

当然,更直接的方式是通过Azure APIM的门户页面创建:

在下面的3步中,最重要的就是一定要反选 Validate Certificate Chain! 默认它是勾选的。

image

第二步:在API中使用backend

当第一步的Backend创建好之后,如何在API中使用呢?

参考说明:https://docs.azure.cn/zh-cn/api-management/set-backend-service-policy

示例策略如下:

<set-backend-service backend-id="the #1 steps backend id " />

image

 

第三步:测试

在APIM门户上测试

在Azure 托管的APIM 门户上测试,成功。(不需要上传根证书,中间证书,可节约上传证书后等待APIM完成更新的45分钟左右时间)

image

 

在AKS自建网关上测试

在AKS Self Host上环境中测试, 访问:curl -H 'Ocp-Apim-Subscription-Key: <APIM Subscription Key>'  'https://<aks service extennal ip>/ca2/'  -k 

image

 

以上方法,可以在不需要证书的情况下,成功访问配置了自签名证书的后端服务API。只是此种办法还是存在一定的安全风险,需要谨慎使用。

 

参考资料

禁用自签名证书的证书链验证 : https://docs.azure.cn/zh-cn/api-management/api-management-howto-mutual-certificates#disable-certificate-chain-validation-for-self-signed-certificates

 

 

http://www.jsqmd.com/news/280313/

相关文章:

  • 工业智能体落地指南:大模型+小模型在云-边-端架构中的协同应用
  • 实用指南:九联UNP-SJA8-国科GK6323V100C-2+8G-安卓9.0-原厂强刷固件包-可救砖及开ADB教程
  • 【值得收藏】用生活化比喻彻底搞懂Transformer:AI大模型的基石,小白到程序员必学
  • 题解:P6009 [USACO20JAN] Non-Decreasing Subsequences P
  • 【计算机毕设】Python高校学生学业预警系统论文
  • 期刊论文创作不再难!虎贲等考 AI 解锁从创作到见刊的高效路径
  • 【珍藏必读】Dify vs Coze:大模型开发平台全方位对比,从架构到部署助你快速选型
  • 我的第一个公开实战项目(XXX 用户中心系统)
  • 学术写作利器:9款免费用论文查重工具,每天无限次检测,省时又省力
  • 【计算机毕设】Python高校社团学生会管理系统
  • 【干货收藏】智能体开发实战:企业级架构设计与实现难点攻克
  • POMDP在AI中的应用前景与挑战
  • 导师严选2026 TOP8 AI论文平台:专科生毕业论文写作全测评
  • 精选9款不花钱的论文查重工具,每日可无限次检测,学术研究更顺畅
  • 分享一个开源的商城系统:SpringBoot + Vue +Redis + MyBatis 前后端分离技术栈
  • 9大免费论文查重工具推荐,每天不限次数使用,让学术写作更轻松高效
  • 7款AI论文写作神器解析:如何快速提升效率并避免论文重复问题
  • 基于stm32单片机的智能灌溉系统
  • AI论文写作工具精选7款:高效撰写与降低重复率的实用技巧分享
  • 基于STM32单片机的智慧病房系统
  • 零成本论文查重工具精选9款,支持每日无限次检测,学术写作更无忧
  • 基于stm32单片机的智能充电宝系统
  • 电商行业中的多维数据分析模型
  • STL练习
  • 学术写作必备:9大免费查重工具,每天无限次检测,提升论文质量更便捷
  • 基于stm32单片机的智能安防系统
  • 基于android的大学学校食堂点餐系统
  • 全网最全MBA必备AI论文写作软件TOP10测评
  • 基于android的个人健康系统
  • 无需付费的9款论文查重神器,24小时不限次数使用,为学术创作保驾护航