You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

遵循Azure官方文档配置APIM入站策略时抛出错误

问题根源及解决方法
  • 核心问题:你在「入站处理」代码视图中错误地包含了<inbound>根标签,而该视图仅需要填写<inbound>标签内部的策略元素,不需要外层的<inbound>包裹。

APIM策略编辑器的「入站处理」代码视图是嵌入到完整策略结构中的,系统会自动维护<inbound>、<backend>等顶层标签。手动添加<inbound>标签会导致策略结构嵌套错误,触发「策略部分不允许在指定范围」的报错。

修正后的策略代码

直接将以下内容粘贴到「入站处理」代码视图中(去掉外层的<inbound>标签):

<cors allow-credentials="true">
      <allowed-origins>
          <origin>https://devjohn1.z11.web.core.windows.net/</origin>
      </allowed-origins>
      <allowed-methods preflight-result-max-age="120">
          <method>GET</method>
      </allowed-methods>
      <allowed-headers>
          <header>*</header>
      </allowed-headers>
      <expose-headers>
          <header>*</header>
      </expose-headers>
</cors>
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid." require-expiration-time="true" require-signed-tokens="true" clock-skew="300">
   <openid-config url="https://devjohn1.b2clogin.com/devjohn1.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1_myapp_frontend_devjohn1_signupandsignin" />
   <required-claims>
      <claim name="aud">
         <value>56f39849-19eb-49d6-qweqw-123123123</value>
      </claim>
   </required-claims>
</validate-jwt>
<rate-limit-by-key calls="300" renewal-period="120" counter-key="@(context.Request.IpAddress)" />
<rate-limit-by-key calls="15" renewal-period="60" counter-key="@(context.Request.Headers.GetValueOrDefault("Authorization","").AsJwt()?.Subject)" />

额外验证

确保你选择的策略作用域(全局/产品/API/操作)支持这些策略:

  • cors、validate-jwt、rate-limit-by-key均支持在所有4个作用域中使用,修正标签问题即可解决报错。

内容的提问来源于stack exchange,提问作者Kid_Learning_C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:07:47