问题描述 Azure 的APIM集成虚拟网络有两种方式,外部VNET, 内部VNET. 外部VNET,要求低,可以通过APIM访问VNET中的VM等资源,不需要配置自定义DNS服务器,这种方式下,APIM没有内部的私有IP. 内部VNET,要求多,需要自定义DNS服务器,并且外部不能访问APIM的接口,只能在VNET的资源(如VM)中访问.必须在DNS 服务器中配置A记录,指定访问到为APIM分配的内网IP地址. 而在配置内部VNET的时候,需要先准备好: VM (Azure 中虚拟机,用于作为…
问题描述 在使用APIM配置内部VNET后,如API-1正常配置访问后端服务器的一个接口,而API-2则是通过调用APIM中的API-1来作为backendUrl,会出现500错误. 经过测试,目前这种配置内部集成VNET的情况下,会出现错误.这是一个已知的问题. 错误消息为:Unable to connect to the remote server 而在APIM的开发者门户中测试跟踪接口,则会获取到如下的错误信息: 异常日志 System.Net.WebException: Unable t…
问题描述 使用 Azure 虚拟网络,Azure APIM 可以管理无法通过 Internet 访问的 API,达到以保护企业内部的后端API的目的.在虚拟网络中,启用网络安全组(NSG:Network Security Group)来控制出站,入站的端口,我们可以形象的把它比喻成一道门,需要满足条件的流量才能通过这道安全的大门. 通过安全大门以后,我们就需要有路,才能达到目的.而默认的网络路径由Azure的骨干网络控制,如果需要通过公司自己的防火墙(Azure Firewall或企业自己的防火…
问题描述 创建新的Service Fabric集群,可以通过门户,Powershell命令,或者是ARM模板.但是通过门户和PowerShell命令时,创建的SF集群都会自动新建一个虚拟网络而无法使用以及存在的虚拟网络及子网来部署SF. 这对于已经存在的网络来说是一个不友好的方面.那是否可以通过ARM模板来实现呢? 解决办法 使用ARM Template可以 1)准备好ARM模板, 并在模板中的高亮区修改为已经准备好的VNET名称和VNET资源所在的资源组 由于模板内容太长,所以这里列举出需要修…
问题描述 在APIM中配置对传入的Token进行预验证,确保传入后端被保护的API的Authorization信息正确有效,可以使用validate-jwt策略.validate-jwt 策略强制要求从指定 HTTP 标头或指定查询参数提取的 JSON Web 令牌 (JWT) 必须存在且有效.validate-jwt 策略支持 HS256 和 RS256 签名算法. 对于 HS256,必须在策略中以 base64 编码形式提供内联方式的密钥. 对于 RS256,密钥可以通过 Open ID 配…
在文章"从微信小程序访问APIM出现200空响应的问题中发现CORS的属性[terminate-unmatched-request]功能"中分析了CORS返回空200的问题后,进一步对APIM的CORS策略进行验证,深入学习<CORS 跨域资源共享>. 首先,我们已经学习到CORS需要浏览器和服务器同时支持.目前,所有浏览器都支持该功能,整个CORS通信过程,都是浏览器自动完成,不需要用户参与.而服务端则不同,它是实现CORS通信的关键.只要服务器实现了CORS接口,就可以…
API(应用程序编程接口)经济的飞速增长导致对API管理平台的需求相应增加. 这些解决方案可在整个生命周期内帮助创建,实施,监控,分析,保护和管理API. 据一些估计,全球API管理市场预计在2018年至2023年的预测期内将以每年32.9%的速度增长,到2023年价值将从2018年的12亿美元增长至51亿美元. 由于API管理的重要性正在上升,许多提供商已开始提供这些服务.因此,在选择适合您需要的解决方案之前,必须做功课. 在本文中,我将讨论以下五个重要因素,以便选择一个用于管理内部API和外…
随着信息化飞速增长的还有各信息系统中的应用接口( API ),API 作为信息系统内部及不同信息系统之间进行数据传输的渠道,其数量随着软件系统的不断庞大而呈指数型增长,如何管理这些 API 已经在业界变得越来越重要,需要将 API 开发的敏捷性.速度和效率提升到了全新的水平. API管理 很多人认为,API 的管理无非是对 API 信息的管理,只要将 API 记录在 Word 或 Wiki 文档就足够了,这其实是一种想当然的想法.根据实际经验,这些文档随着时间的推移,缺少维护,而逐渐变成了最初工…
问题描述 使用微软API管理服务(Azure API Management),简称APIM. 因为公司策略要求只能内部网络访问,所以启用了VNET集成.集成方式见: (在内部模式下使用 Azure API 管理连接到虚拟网络:https://docs.azure.cn/zh-cn/api-management/api-management-using-with-internal-vnet?tabs=stv1) 当APIM配置好后,直接通过CURL命令访问APIM的网关接口(如:curl http…
问题描述 App Service访问的APIM已配置内部虚拟网络(Internal VNet)并拥有内网IP地址.App Service与APIM都在相同的虚拟网络(VNET)中.App Service如何通过内网访问APIM呢?是否需要在虚拟网络中添加自定义DNS服务进行域名解析呢? 问题答案 是的,由于APIM配置的是内部虚拟网络,它只能接收从虚拟网络内部发送的请求,而无法接受从公网(Internet)发送的请求.所以App Service需要访问APIM,需要走内部虚拟网络的链路.同时,由…