惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
T
Tenable Blog
V
Vulnerabilities – Threatpost
T
Troy Hunt's Blog
SecWiki News
SecWiki News
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Secure Thoughts
Cyberwarzone
Cyberwarzone
A
Arctic Wolf
H
Heimdal Security Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
N
News and Events Feed by Topic
The Hacker News
The Hacker News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Cisco Talos Blog
Cisco Talos Blog
Stack Overflow Blog
Stack Overflow Blog
J
Java Code Geeks
Forbes - Security
Forbes - Security
Security Archives - TechRepublic
Security Archives - TechRepublic
Project Zero
Project Zero
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
T
Tor Project blog
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
Cloudbric
Cloudbric
O
OpenAI News
U
Unit 42
Google DeepMind News
Google DeepMind News
Simon Willison's Weblog
Simon Willison's Weblog
Recorded Future
Recorded Future
N
News | PayPal Newsroom
S
Schneier on Security
F
Full Disclosure
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
P
Privacy International News Feed
L
LINUX DO - 最新话题
F
Fortinet All Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CERT Recently Published Vulnerability Notes
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Announcements
Recent Announcements

博客园 - danzhang

第十三年的MVP勋章:感谢这片技术社区 Azure DevOps Server:2026年6月份补丁(无法移除用户) 在Github的企业Enterprise中开通Copilot Azure DevOps Server:2026年4月份补丁(安装详细步骤) Azure DevOps:应用远程MCP服务器,提升工作效率 Azure DevOps Server:2026年3月份补丁 Azure DevOps Server:扩充数据库服务器的磁盘 Azure DevOps Server:使用团队日历 Azure DevOps Server:2026年二月补丁(Patch 8) Azure DevOps:迭代看板简洁视图 Azure DevOps:移除TFVC中过时的签入策略 Azure DevOps Server 正式版本发布 Azure DevOps Server:复制markdown文档中的代码块 Azure DevOps Server:允许讨论但不允许修改工作项 Azure DevOps Server 2022.2 补丁(Patch 7) 在Azure DevOps Server中分析Git代码库的健康状况 Azure DevOps Server 25H2 安装手册 Azure DevOps Server 25H2 最新版本发布 使用Azure DevOps MCP和Playwriht,将功能测试用例转换为自动化测试用例 使用Azure DevOps MCP服务器,在开发过程中应用GitHub Copilot人工智能 在VS Code中使用Playwright实现自动化测试(UI测试) Azure DevOps Server 2022.2 补丁(Patch 6) 在Azure DevOps的工作项中使用markdown
在Azure DevOps Server中实现用户端原地址透传(X-Forwarded-For)
danzhang · 2026-05-14 · via 博客园 - danzhang

Contents

  • 1. 场景描述
  • 2. 解决方案

1. 场景描述

在Azure DevOps Server的典型部署场景中(如下图),一般都会部署多台应用服务器,以此实现应用服务器层面的负载均衡,满足多用户高并发访问的场景。在应用服务器之间实现负载均衡,许多企业都使用了独立的负载设备(例如F5)。


image

在这种网络结构中,用户的原始IP地址一般无法直接传递给Azure DevOps Server的应用层服务器,从而导致应用服务器的日志中记录的源地址(c-ip)一直是负载均衡设备的地址;原因是,IIS 默认只会记录 TCP 连接的远端地址;当请求经过负载均衡器或反向代理时,IIS 实际上只和负载均衡器建立了 TCP 连接,所以它看到的“客户端 IP”就是负载均衡器的 IP,而不是用户的真实 IP。

image

为了解决这个问题,需要负载均衡器启用IP地址透传(X-Forwarded-For)的功能;就是当数据经过负载均衡器时,设备在TCP的请求头中加入X-Forwarded-For字段,并将用户的原始IP填写到这个字段中;这样在Azure DevOps Server所在的应用服务器中,就可以读取到X-Forwarded-For的值,从而获取原始用户的IP地址。

2. 解决方案

  • 负载均衡器启用X-Forwarded-For:不同的负载均衡器启用方式不一样,可以根据实际情况做好对应的配置

  • Azure DevOps Server中修改配置
    下面我们来介绍如何在Azure DevOps Server的应用服务器中实现这样的功能。

    • 使用管理员身份登录Azure DevOps Server的应用服务器,并打开IIS

    • 在IIS中找到Azure DevOps Server对应的网站,并在功能页签中,双击Logging按钮
      image

  • 在日志配置界面中,选择字段;在弹出的窗口中选的添加字段
    image

  • 在添加字段的界面中,填写X-Forwarded-For的相关信息,可以和下图保持一致
    image

  • 确认,并点击页面右上角的Aplly按钮
    注意,Azure DevOps Server会自动重启
    image

  • 再次打开IIS的日志文件,我们可以看到文件中新增了X-Forwarded-For字段
    image
    在实际应用场景中,这个X-Forwarded-For字段会记录原始用户的IP地址,为未来排查问题、审计溯源等应用场景提供完整的数据。

https://www.cnblogs.com/danzhang
Azure DevOps MVP 张洪君

image