次のようなアドレスにJSPページがあります。
出力するとrequest.getRequestURL()
、まったく異なるものが得られます。
ドメインがIPに変更され、/foo/bar
欠落していることに注意してください。ブラウザがJSPを使用して要求した実際のURLを取得するにはどうすればよいですか?
次のようなアドレスにJSPページがあります。
出力するとrequest.getRequestURL()
、まったく異なるものが得られます。
ドメインがIPに変更され、/foo/bar
欠落していることに注意してください。ブラウザがJSPを使用して要求した実際のURLを取得するにはどうすればよいですか?
これは、Java EE サーバーの前にプロキシ (Apache HTTPD など) がある場合に発生する可能性があります。特定のプロキシは、元のリクエスト URL をリクエスト ヘッダーとして設定できたはずです。少なくとも、すべての自尊心のある代理人はそうしています。
次のように、すべてのリクエスト ヘッダーをクロールして確認できます。
for (String name : Collections.list(request.getHeaderNames())) {
System.out.println(name + "=" + Collections.list(request.getHeaders(name)));
}
以下を使用して、ドメインを除く書き換えられた URL を取得できます。
String rewrittenURL = request.getHeader("REDIRECT_URL");