我正在创建一个聚合服务(比如说聚合服务A),并且在该服务的策略中,我注册了一个微服务(微服务A)以及另一个内部称为微服务的聚合服务(聚合服务B)。服务B和微服务c,但是我面临的问题是单个微服务正在返回正确的数据,但是当“聚合服务b”在内部被“聚合服务a”内部调用时,我将获得“访问被拒绝”。 / p>
这是我的聚合服务的示例策略
<send-request mode="new" response-variable-name="projects" timeout="5" ignore-error="true">
<set-url>@($"sample API management URL of another aggregation service")</set-url>
<set-method>POST</set-method>
<set-header name="Content-Type" exists-action="override">
<value>application/json</value>
</set-header>
<set-header name="Authorization" exists-action="override">
<value>@(context.Request.Headers["Authorization"].First().ToString())</value>
</set-header>
<set-header name="Ocp-Apim-Trace" exists-action="override">
<value>true</value>
</set-header>
<set-header name="Ocp-Apim-Subscription-Key" exists-action="override">
<value>***************************</value>
</set-header>
<set-body />
</send-request>
<send-request mode="new" response-variable-name="billingdata" timeout="5" ignore-error="true">
<set-url>@($"URL of another microservice deployed via aks")</set-url>
<set-method>GET</set-method>
<set-header name="Content-Type" exists-action="override">
<value>application/json</value>
</set-header>
<set-body />
</send-request>
注意:部署在Azure Kubernetes Service上的微服务正在提供正确的数据。 聚合服务B已在其他api管理服务实例上注册,但我认为这不是问题