尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【Azure APIM】自建网关(self-host gateway)收集请求的Header和Body内容到日志中的办法

【Azure APIM】自建网关(self-host gateway)收集请求的Header和Body内容到日志中的办法
📅 发布时间:2026/6/18 15:36:27

问题描述

使用 Azure API Management(APIM)时,需要记录每个 API 请求的 Header 和 Body,以便进行问题排查和审计,如何配置才能完整捕获这些信息呢?

 

问题解答

在配置API的时候,启用 trace  策略来收集 inbound / outbound中分别收集请求的Header/Body信息。

具体操作步骤如下:

第一步:进入API的Policy编辑页面,分别修改Inbound和Outbound策略

在Inbound 加入 如下部分内容, 分别获取Request 的Headers 和 Body信息,作为Trace的Message内容

    • context.Request.Body.As<string>(preserveContent: true):用于读取请求体内容,并保留原始内容供后续处理。
    • context.Request.Headers.Select(...):用于拼接所有请求头信息。

<inbound>

        <base />

        <trace source="request-info" severity="information">

            <message>@{              

            var headerOutput = string.Join("\n", context?.Request?.Headers?.Select(h => $"{h.Key}: {string.Join(";", h.Value)}"));

            var body = context?.Request?.Body?.As<string>(preserveContent: true) ?? "No Body";

            return $"\n\nRequest Headers:\n{headerOutput}\n\nRequest Body:\n{body}\n\n";

        }</message>

        </trace>

    </inbound>

在Outbound 加入 如下部分内容, 分别获取Response 的Headers 和 Body信息,作为Trace的Message内容

    • context.Response.Body.As<string>(preserveContent: true):用于读取响应体内容,并保留原始内容供后续处理。
    • context.Response.Headers.Select(...):用于拼接所有响应的头信息。

    <outbound>

        <base />

        <trace source="response-info" severity="information">

            <message>@{              

            var headerOutput = string.Join("\n", context?.Response?.Headers?.Select(h => $"{h.Key}: {string.Join(";", h.Value)}"));

            var body = context?.Response?.Body?.As<string>(preserveContent: true) ?? "No Body";

            return $"\n\nResponse Headers:\n{headerOutput}\n\nResponse Body:\n{body}\n\n";

        }</message>

        </trace>

    </outbound>

 

第二步:以AKS部署部署自建网关为例,查看日志输出效果

image

 

【end】

参考资料

将 Azure API 管理自承载网关部署到 Azure Kubernetes 服务 : https://docs.azure.cn/zh-cn/api-management/how-to-deploy-self-hosted-gateway-azure-kubernetes-service

 Trace : https://docs.azure.cn/zh-cn/api-management/trace-policy

 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关新闻

  • 冬天快乐
  • pycharm跑python项目易出错的困难
  • 双端队列的0-1BFS

最新新闻

  • 朝阳家装口碑怎么选?2026 正规家装企业综合测评指南 - 装修新知
  • 【计算机毕业设计案例】基于 Django 的用户行为协同过滤音乐播放平台的设计与实现 基于 Django 的智能化协同过滤音乐推荐客户端系统(程序+文档+讲解+定制)
  • AI科技热点日报 | 2026年06月18日
  • 如何像Python一样编译C++代码
  • 2026 合肥正规名表回收商家完整名单(上门 + 到店均可) - 企业推荐官【官方】
  • 逆向实战:从零破解网易云音乐评论接口加密参数

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号