2

私の ASP.NET アプリケーションは、呼び出し元のクライアントの IP をチェックします。

しかし、Apache が IIS を実行している内部の Windows 2003 Server にリダイレクトする Linux-Box の背後でホストする必要があります。

ProxyPass /srs http://192.168.21.15/srs/

ここで、192.168.21.15 は Windows サーバーの内部 IP であり、192.168.21.1 はインターネットから要求を取得する Linux ボックスの内部 IP です。

さて、wxy15 に転送される intERnet からのリクエストはすべて wxy1 から発信されているように見えます

元の IP を保持 (または転送) するにはどうすればよいですか?

X-forwarded-for... について聞いたことがありますが、C# でこの値を取得するにはどうすればよいですか??

ありがとう、ラインハルト

4

2 に答える 2

1

一般に、プロキシ サーバーが IP アドレス情報を変更すると、元の IP アドレスは HTTP_X_FORWARDED_FOR サーバー変数に格納されます。C# を使用して ASP.NET でこれにアクセスするには、次を使用できます。

Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
于 2010-01-11T11:30:09.440 に答える
0

Java 候補の場合、以下を使用できます。

String ipAddress=request.getHeader("X-Forwarded-For");

を使用する場合、デプロイ サーバーで Apache リダイレクトがあっrequest.getRemoteAddr()た場合に返されることがあります。127.0.0.1

于 2011-12-22T06:55:12.250 に答える