- PR -

Apaceh - Weblogic連携時のクライアントマシンのIP取得方法

1
投稿者投稿内容
あち
会議室デビュー日: 2008/10/07
投稿数: 2
投稿日時: 2008-10-07 23:45
お世話になります。

Apache2.2とWebLogic10とを同じサーバに立てて80番ポートと7001番ポートで
連携しているのですが、PCクライアントの発信元IPアドレスを取得するには
どうしたらいいのでしょうか?RequestオブジェクトのgetRemoteUser() を
コールしても、Apacheからのアクセスなっているのでサーバ自身のIP
を取得してしまいます。

いろいろ調べたのですがわかりませんでした。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2008-10-08 01:43
IPアドレスを取得するのは getRemoteUser() ではなく、getRemoteAddr() ですね。
Apache と WebLogic の連携はどのように行っていますか? mod_wl.so ですか? それとも mod_proxy ですか?
mod_wl.so を使っている場合、プラグインはクライアントの IP アドレスを WL-Proxy-Client-IP という特殊な HTTP ヘッダに挿入します。
これを getRemoteAddr() で読み取らせるためには管理コンソールの Environment > Servers > サーバ名 > Configuration > General > Advanced > WebLogic Plug-In Enabled にチェックをつける必要があります。
http://edocs.bea.com/wls/docs103/wlsmbeanref/mbeans/ServerMBean.html?skipReload=true#WeblogicPluginEnabled

ところで、商用製品でわからないことがあったらサポート窓口に問いあわせることをお勧めします。
お金を払っている分責任をもって SLA に従って回答してくれます。
ドキュメントに書いてある以上のことはユーザは知りようがありませんし。

[ メッセージ編集済み 編集者: インギ 編集日時 2008-10-08 10:11 ]
あち
会議室デビュー日: 2008/10/07
投稿数: 2
投稿日時: 2008-10-13 22:41
>IPアドレスを取得するのは getRemoteUser() ではなく、getRemoteAddr() ですね
 失礼いたしまました。getRemoteAddr()です。

連携はmod_wl.soでしています。回答いただいた方法でIPアドレスを取得できました
。ありがとうございました。

1

スキルアップ/キャリアアップ(JOB@IT)