asp.net - 如何从 IIS 内部访问 TCP 选项 header ?

标签 asp.net iis tcp http-headers nat

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

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

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 接口(interface)过于简单,无法访问任何低级信息,如 TCP 选项。

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

非常感谢任何帮助、指导、指示等。

最佳答案

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

克劳斯·拉杰

关于asp.net - 如何从 IIS 内部访问 TCP 选项 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12827827/

相关文章:

asp.net - 在 web.config 中使用自定义错误设置时出现 IIS7 'one liner' 错误

networking - IPv6 header 优先级

java 与公共(public)IP的TCP连接

java - Spring XD 使用自定义 TCP 序列化器

asp.net - 线程安全和 MEF 目录

c# - asp.net中如何实现URL重写

c# - 使用 .NET 连接到 AS400

IIS 应用程序请求路由服务器场设置

javascript - System.NullReferenceException : Object reference not set to an instance of an object. Dotnetnuke 模块创建

delphi - 找出 ISAPI dll 的物理路径