状況によっては、インターネット高速化サービスのプロバイダー (Akamai の IPA など) は、接続の NAT を実行しますが、元のクライアント IP アドレスに関する情報を TCP オプション (つまり、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
ヘルプ、指示、ポインタなどは大歓迎です。