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

Azure API Manager URL路径解析异常:无效路径仍可正常访问接口问题问询

你遇到的路径异常匹配问题是Azure API Manager默认开启的URL规范化机制导致的。该机制的设计目的是兼容不同客户端的请求格式差异,降低路由匹配误判率,默认会自动解析请求URL中的路径遍历符(../、./)、合并重复斜杠、统一大小写后再进行路由匹配,因此你提供的无效URL{{Url}}/../auth/streams/../../regulators会被自动规范化为标准路径{{Url}}/regulators,所以能正常命中接口返回响应。

解决方案

  • 方案1:关闭URL规范化功能
    可在APIM对应API的设置页,找到「规范化请求URL」选项,关闭该开关后,APIM会直接使用原始请求URL进行路由匹配,不符合路径规则的请求会直接返回404。该方案改动最小,但会同时关闭多余斜杠处理、大小写统一等其他规范化能力,可能导致正常请求误判为404。

  • 方案2:通过入站策略拦截带路径遍历符的请求
    如果需要保留URL规范化的其他能力,只禁止带路径遍历符的非法请求,可在对应API或全局层级添加如下入站策略,匹配到非法字符直接返回400错误:

    <inbound>
        <choose>
            <when condition="@(context.Request.OriginalUrl.ToString().Contains("..") || context.Request.OriginalUrl.ToString().Contains("./"))">
                <return-response>
                    <set-status code="400" reason="Bad Request" />
                    <set-body>请求URL格式非法,不允许包含路径遍历字符</set-body>
                </return-response>
            </when>
        </choose>
        <!-- 原有其他入站策略保留在此处 -->
    </inbound>
    

    该方案灵活性更高,也符合安全合规要求,推荐优先使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:36:03