我们将ASP.NET应用程序托管在位于硬件负载平衡器后面的两个Web服务器(Server 2003,IIS 6)上。当我查看IIS日志时,IIS(v6)日志中的c-ip值始终是负载平衡器的IP地址。我注意到在http头文件中,有一个X-Forwarded-For头文件,它似乎有请求的IP地址。我能做些什么来让IIS在日志中记录此标题值?IIS日志文件和负载均衡器?
回答
当通过代理服务器时,x-forwarded-for是负载平衡器的最多commonly used。你大概可以写一个httpfilter,它可以自己调换;或IIS Tracer有能力玩标准文件;包括交换c-ip和x -forward字段。
如果不使用第三方报告工具;您可能希望将日志转储到SQL Server中,您可以随时操纵这些列。
我个人喜欢后者,这样我就可以获得所有服务器的聚合数据;我将其转储到同一个数据库中的不同表中,然后从服务器场中的所有Web服务器进行报告。我还发现比在整个地方管理500MB左右的日志文件更容易。
F5 networks在devcentral.f5.com上提供了一个ISAPI筛选器,它将采用x-forwarded-for并在日志中使用它。
除此之外,您可以做的事情并不多 - 这就是TCP的工作原理。 :)
这是一个很老的问题,但认为我会补充说,IIS 8.5具有写 自定义HTTP标头的IIS日志的能力。这比安装ISAPI筛选器或HTTP模块要好得多。
此穿行展示了如何通过IIS管理器进行设置: http://www.iis.net/learn/get-started/whats-new-in-iis-85/enhanced-logging-for-iis85
这个其他等问题,展示了如何使用PowerShell做到这一点: Add IIS 8.5 Custom Logging Fields with Powershell
我不知道它是如何长久以来(但在Windows Server 2008及更高版本中)Advanced Logging extensionIIS 7和更高版本提供Custom logging functionality可用于收集(几乎)任意信息在IIS日志文件中,包括自定义HTTP请求(和响应)标头,如X -Forwa rded - 对于。
我今天刚刚在我们的服务器上设置了它,它运行得非常漂亮。
有一点要注意:不是由%COMPUTERNAME% - 服务器名编辑默认日志定义,只需创建您的网站或全球您的服务器,以避免异常的一个新的“请求不支持的。”当试图保存您的更改时。这发生在您尝试编辑默认的定义在站点级别(感谢this thread的答案)。
IIS 8.5高级日志可以让你轻松地登录了X-FORWAREDED-FOR头。
- 1. 负载均衡
- 2. 来自负载均衡服务器的日志
- 3. 使用负载均衡器
- 4. 负载均衡服务器
- 5. yii2和负载均衡
- 6. SignalR和负载均衡
- 7. 负载均衡和APC
- 8. IIS负载平衡和ASP.Net
- 9. 负载均衡器和会话管理
- 10. nginx负载均衡器和OAuth
- 11. 负载均衡IIS中,如何管理上传文件夹?
- 12. 与负载均衡
- 13. MongoDB负载均衡
- 14. 如何从访问日志中删除负载均衡污染
- 15. LogParser2.2和日志负载平衡服务器
- 16. 负载均衡的Fiware Orion
- 17. Kubernetes,GCE,负载均衡,SSL
- 18. docker swarm的负载均衡
- 19. terraform负载均衡多lisstners
- 20. IPTables端口负载均衡
- 21. 负载均衡错误 - NLB
- 22. Magento - AWS负载均衡
- 23. Azure负载均衡问题?
- 24. 如何与负载均衡
- 25. Asp.net负载均衡SessionState
- 26. 负载均衡部署
- 27. 负载均衡SOAP请求
- 28. Nginx负载均衡问题
- 29. HAProxy的负载均衡
- 30. Openmeeting负载均衡http
你写你自己的应用程序/脚本日志转储到SQL还是你在网上找什么东西? – twlichty 2009-05-04 19:09:46
MS发布了如何http://support.microsoft。com/kb/245243 – u07ch 2009-05-04 21:46:02