- PR -

proxyサーバーを通じてアクセスする場合

1
投稿者投稿内容
影フリー
常連さん
会議室デビュー日: 2004/11/12
投稿数: 39
お住まい・勤務地: 東京都
投稿日時: 2004-11-18 17:02
お世話になっております。

現在社内で使う小さなIntranetを作っています。
開発環境
RedHet7.0、Tomcat4.1.24、Mysql3.0、apacheは連動しません。

問題は外部でProxyサーバーを利用する人たちのSessionが共有されることです。
A、Bが外部でProxyサーバーを通じてアクセスした場合、
Aの個人情報(ID、名前など)がBのブラウザへ表示されてしまいます。
Tomcatサーバーではすべての個人をSessionへ保存して管理していますが・・
JSPやServletの中で何かpublic変数を使ったためかな?と調べましたが
そうでもないし、調査の結果、外部でのProxyサーバーを通じてアクセルする
人たちのみに対してこんな現象が起こりました。

こんな経験ありませんでしたか?

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-11-18 17:06
プロキシサーバでコンテンツがキャッシュされているということはないでしょうか?
影フリー
常連さん
会議室デビュー日: 2004/11/12
投稿数: 39
お住まい・勤務地: 東京都
投稿日時: 2004-11-18 17:27
一応サーバではすべてのresponseに対して
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
をセットしております。
もしProxyサーバーでのキャッシュ-問題だったら
Tomcatサーバがわで対応できるのはこれ以外になにかありますか?
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2004-11-18 18:13
こんばんわ。

最近のProxyはすごいみたいで、
設定にもよりますが何でもキャッシュできたりするようです。

私も同じような経験があるのですが、
GETのフォームをPOSTにするなどして、できたパターンもありました。

ちなみに、Application(Context)変数などに保存とかしてないですよね?

ご参考まで。
(あくまでProxyの設定によります)
sutou
会議室デビュー日: 2002/02/20
投稿数: 7
投稿日時: 2004-11-22 19:32
Proxyサーバによるキャッシュの問題を回避するために、
URLの後ろに毎回違う無意味なパラメータをつけるという手もあります。
例えば、

http://サーバ/プログラム?param=ランダムで重ならない文字列

のようにします。

ただ、Proxyサーバの設定を見直すことで解決可能であれば、
そちらの方がよいと思います。
1

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