- - PR -
ServletでHTTP_X_FORWARDED_FORを取得
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-08-01 03:22
はじめまして。sakayaと申します。
ProxyPass経由でアクセスされているapache2+tomcat5+JK2 において、tomcat5上でremote_hostの生IPを取得したい と思っています。 apache2上ではREMOTE_HOSTにproxyのIPが入ってしまって いますが、HTTP_X_FORWARDED_FORには生IPが入っている のでtomcat5上でこれが取得できれば良いのですが、 何か方法はありますでしょうか。 #REMOTE_HOSTを強引にHTTP_X_FORWARDED_FORで #rewriteしてでも取得できれば嬉しいのです。 また可能ならばこのHTTP_X_FORWARDED_FORも含めて、 proxyがapache2に渡してくる環境変数をjk2経由の tomcat5ですべて取得する方法はありますでしょうか。 #取得できれば多少スマートでなくても良いです。 参考になるHPやサンプルソースがありましたらどうぞ よろしくご教授お願いします。 |
|
投稿日時: 2004-08-01 04:15
リクエストに情報が渡ってきているなら、HttpServletRequest.getParameter(String)で取得できるのではないでしょうか。
|
|
投稿日時: 2004-08-01 06:05
手元の環境では確認できなかったのですが、HttpServletRequest.getHeader(String)ではないでしょうか?
|
|
投稿日時: 2004-08-01 14:07
返答ありがとうございます。
私の環境ではgetHeader(String),getParameter(String)(やgetAttribute(String))ではHTTP_X_FORWARDED_FORどころかREMOTE_HOST,REMOTE_ADDRも取得できない(後者2つはproxyの値であればそれぞれのgetterで取れます)みたいなんです。 …と思っていたらgetHeaderNames()にX-Forwarded-Forというのが入っていてこれがHTTP_X_FORWARDED_FORに対応するようです。お手数をお掛けしました。 とはいえ、apache2で取れる他のものもそのまま取れると嬉しいので、引き続きご存知の方がいらっしゃいましたらご教授頂けると幸いです。 どうぞよろしくお願いします。 |
1
