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

您可以尝试以下方法之一:

  1. 改为使用客户端证书进行身份验证
  2. 您可以使用 API 手动创建订阅,您可以在其中设置 访问密钥
  3. 您可以使用 OAuth2 身份验证