Amazon ELB でサイトを実行しています。サイトで何かを行うために、クライアントの IP アドレスを取得する必要があります。これは理想的ではありませんが、現時点では間違いなく IP が必要です。
これは、専用サーバーでうまく機能していました。しかし、ELB に移行して以来、使用するときに ELB の内部 IP アドレスのみをクライアントの IP アドレスとして取得しますRequest.UserHostAddress
私が追加したいくつかのブログから行くX-Forwarded-For
と、私の IIS ログには正しいクライアント IP がありますが、その IP は実際の Web ページに渡されません..
実際、ヘッダーにはそのようなフィールドはありません..またはヘッダーにそれに近いものはありません。
を調べるとRequest.Headers.ToString()
、セッション Cookie、他の Cookie、クライアント ブラウザ (正しく) などの情報が表示されますが、IP については何もありません。実際、elb の静的 IP もわかりません。
Request.Headers["HTTP_X_FORWARDED_FOR"]
当然のことながら、常に null です。
C# から実際のクライアント IP を取得するにはどうすればよいですか?