Azure 流量管理器 - 多个订阅密钥
Azure Trafic Manager - Multiple subscription keys
我在两个不同的区域有两个 API Management(APIM) 实例。端点受订阅密钥保护。众所周知,您无法设置这些,因此它们对于每个 APIM 实例都是不同的。我在 APIM 实例前面使用 Azure 流量管理器来处理负载平衡并作为故障转移组件。但是当使用两个具有不同密钥的实例时,就会出现一个主要问题。由于流量管理器仅重定向您的请求,因此您将对其中一个端点发出未经授权的请求。任何人想出如何处理这个?
流量管理器只是一个基于第 7 层 DNS 的负载平衡器。仅当两个实例使用相同的密钥时,您才能使用流量管理器进行负载平衡。
流量管理器中有不同的配置文件,但无法根据使用的密钥检测或选择后端实例。
或者,您可以使用应用程序网关而不是流量管理器,并根据路径将流量路由到实例。
您可以将订阅密钥设置为任何值,前提是它在实例中是唯一的:https://docs.microsoft.com/en-us/rest/api/apimanagement/2019-01-01/subscription/update
您可以尝试以下方法之一:
- 改为使用客户端证书进行身份验证
- 您可以使用 API 手动创建订阅,您可以在其中设置
访问密钥
- 您可以使用 OAuth2 身份验证
我在两个不同的区域有两个 API Management(APIM) 实例。端点受订阅密钥保护。众所周知,您无法设置这些,因此它们对于每个 APIM 实例都是不同的。我在 APIM 实例前面使用 Azure 流量管理器来处理负载平衡并作为故障转移组件。但是当使用两个具有不同密钥的实例时,就会出现一个主要问题。由于流量管理器仅重定向您的请求,因此您将对其中一个端点发出未经授权的请求。任何人想出如何处理这个?
流量管理器只是一个基于第 7 层 DNS 的负载平衡器。仅当两个实例使用相同的密钥时,您才能使用流量管理器进行负载平衡。
流量管理器中有不同的配置文件,但无法根据使用的密钥检测或选择后端实例。
或者,您可以使用应用程序网关而不是流量管理器,并根据路径将流量路由到实例。
您可以将订阅密钥设置为任何值,前提是它在实例中是唯一的:https://docs.microsoft.com/en-us/rest/api/apimanagement/2019-01-01/subscription/update
您可以尝试以下方法之一:
- 改为使用客户端证书进行身份验证
- 您可以使用 API 手动创建订阅,您可以在其中设置 访问密钥
- 您可以使用 OAuth2 身份验证