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

如何借助Azure工具定位调用App Service根路径的未知请求发起方?

定位根路径请求发起方的步骤

1. 查看Front Door访问日志

Front Door会完整记录所有入站请求的核心信息,包括真实客户端IP:

  • 登录Azure门户,找到你的Front Door实例
  • 进入「日志」选项卡,确保已启用日志收集(若未启用,先配置存储账户或Log Analytics工作区)
  • 使用Kusto查询筛选根路径请求:
    AzureDiagnostics
    | where Category == "FrontdoorAccessLog"
    | where RequestPath == "/"
    | project ClientIp, RequestTimestamp, RequestMethod, UserAgent
    
    其中ClientIp字段就是请求的真实发起方IP,结合UserAgent还能进一步判断请求类型(比如爬虫、自动化工具或健康探测)。

2. 修复App Service的IP传递配置

App Insights显示0.0.0.0是因为未正确解析Front Door转发的真实IP,需调整App Service配置:

  • 进入App Service的「配置」→「常规设置」,开启「启用转发代理」
  • 添加应用设置WEBSITE_LOAD_BALANCER并设为true,确保App Service识别Front Door作为反向代理
  • 确认Front Door的规则中已启用X-Forwarded-For头转发(默认开启,若被修改需恢复)

配置完成后,App Insights的请求遥测中将直接显示真实客户端IP,也可通过自定义代码将X-Forwarded-For头添加到遥测属性中。

3. 排查是否为Front Door健康探测请求

大量根路径请求可能来自Front Door的自动健康探测:

  • 进入Front Door的「后端池」→「健康探测」设置,查看探测路径是否为根路径/
  • 如果是,建议修改为专门的健康检查路径(如/health),并在API中实现对应的健康端点
  • 可通过Front Door日志中的ClientIp是否属于Front Door健康检查IP段(Azure官方文档可查对应范围)来确认

4. 关联Front Door与App Insights日志

使用Azure Monitor的跨资源查询,将Front Door日志与App Insights日志关联,精准匹配请求:

// 提取Front Door根路径请求信息
let fdLogs = AzureDiagnostics
| where Category == "FrontdoorAccessLog"
| where RequestPath == "/"
| project fd_ClientIp = ClientIp, fd_CorrelationId = CorrelationId, fd_Time = RequestTimestamp;

// 提取App Insights对应请求
let aiLogs = AppRequests
| where Url == "/"
| project ai_CorrelationId = operation_Id, ai_Time = timestamp;

// 关联日志匹配真实IP
fdLogs
| join aiLogs on $left.fd_CorrelationId == $right.ai_CorrelationId
| project fd_ClientIp, fd_Time, ai_Time

通过CorrelationId(关联ID)匹配后,就能直接对应App Insights中的请求与Front Door记录的真实IP。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 04:20:32