3

在某些情况下,互联网加速服务提供商(例如 Akamai 的 IPA)将对连接进行 NAT,但会在 TCP 选项中(即在 TCP 标头的末尾)提供有关原始客户端 IP 地址的信息。

某些负载均衡器(例如 BIG-IP)能够将 TCP 标头中的信息转换为 HTTP X-Forwarded-For 标头行,我们的应用程序可以读取:

https://devcentral.f5.com/Tutorials/TechTips/tabid/63/articleType/ArticleView/articleId/1086447/Accessing-TCP-Options-from-iRules.aspx

但是,如果我不在这些负载平衡器之一的后面,我如何从 IIS/ASP.NET 应用程序中获取信息?

我已经考虑为此用 C++ 编写一个 CHttpModule,并且 IHttpContext 还公开了一个 GetConnection() 方法。但是返回的 IHttpConnection 接口过于简单,无法访问任何低级信息,如 TCP 选项。

http://msdn.microsoft.com/en-us/library/ms693613(v=vs.90).aspx

非常感谢任何帮助、方向、指针等。

4

1 回答 1

1

我还没有尝试过这个产品,但它听起来像你需要的 - http://www.winfrasoft.com/products/X-Forwarded-For/

克劳斯·拉斯杰

于 2012-10-22T07:42:39.607 回答