【发布时间】:2012-10-10 20:30:03
【问题描述】:
在某些情况下,互联网加速服务提供商(例如 Akamai 的 IPA)会对连接进行 NAT,但会在 TCP 选项中提供有关原始客户端 IP 地址的信息,即在 TCP 标头的末尾。
某些负载均衡器(例如 BIG-IP)能够将来自 TCP 标头的信息转换为我们的应用程序可以读取的 HTTP X-Forwarded-For 标头行:
但是,如果我不在这些负载平衡器后面,我如何从 IIS/ASP.NET 应用程序中获取信息?
我已经研究过为此用 C++ 编写一个 CHttpModule,并且 IHttpContext 还公开了一个 GetConnection() 方法。但是返回的 IHttpConnection 接口过于简单,无法访问 TCP 选项等任何低级信息。
http://msdn.microsoft.com/en-us/library/ms693613(v=vs.90).aspx
非常感谢任何帮助、方向、指针等。
【问题讨论】:
标签: asp.net iis tcp http-headers nat