在某些情况下,互联网加速服务提供商(例如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
非常感谢任何帮助,方向,指针等。
答案 0 :(得分:1)
我没有尝试过这个产品,但它听起来像你需要的那样 - http://www.winfrasoft.com/products/X-Forwarded-For/
Claus Rathje