- PR -

Apache Httpd + Tomcat連携時のセッション維持について

投稿者投稿内容
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-08-24 10:54
Javaの会議室から来ました。

Apache Httpd + Tomcat連携時にセッションが維持されないという
現象が出ています。
具体的には、ページ遷移するたびにセッションが新しく作られます。
Tomcat単体であればセッションは維持されます。

いろいろ調べたのですが、解決できていません。

http://www.jajakarta.org/tomcat/tomcat-jk2/ja/docs/jk/workershowto.html
この設定や、

http://muimi.com/j/jakarta/tomcat5/
このあたりを参考にして、クラスタリングの設定をしてみたり
したのですが、はずしていたようです。

Apache Httpd + Tomcat連携時にセッションを維持する方法を教えて
ください。

環境は、以下のとおりです。
CentOS 4.3
Apache HTTP Server 2.0.52.22.ent.centos4
Tomcat 5.5.17

よろしくお願いいたします。
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2006-08-24 11:24
TOMCATの事とか、ちょっといじっただけなんで見当違いのレスかもしれないけど・・・

とりあえず、クッキーで渡したセッションキーが受取られてない、という所なんですよね?
たぶん、URLにセッションキーを含めるような方法があると思うので、それで出来るか試してみてはどうでしょうか?

(何かの原因で、クッキーが消されているというのが原因?)
(ん?ひょっとしたら、ブラウザが原因かもしれないから、ブラウザ(出来ればクッキーを見れるような機能がついてるもの)で調べてみるといいかも?)
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-08-24 11:50
http://support.microsoft.com/default.aspx?scid=kb;ja;316112

これは…?
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-24 12:44
ん?Java会議室とマルチポストっぽくなってないですか、この質問?。
Java会議室側にLinuxの方に移りますとかって書いて閉めておかないと・・・。
あぶぽん
大ベテラン
会議室デビュー日: 2005/10/20
投稿数: 205
投稿日時: 2006-08-24 14:19
はじめまして. あぶです.

経緯を拝見しましたが, SSLの問題のような気がします.

一度, SSLを外してテストされてみては如何ですか?

# SSLはまだ勉強不足ですので回答はできませんが...
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-08-24 14:38
Javaの方を閉めてなくて、すいませんでした。

>クッキーで渡したセッションキーが受取られてない、という所なんですよね?

そういうことになるのですが、
問題は、Apache Httpd + Tomcat連携時にのみ起こります。
Tomcat単体(localhost:8080)では、セッションを維持してくれます。
そんなわけで、ブラウザの問題ではないと踏んでいます。

FireFoxで、クッキーの状態を調べてみました。
JSESSIONIDが保持されています。ページを遷移しても保持されますが、
サーバーサイドでは、毎ページセッションIDが新たにふられています。

>たぶん、URLにセッションキーを含めるような方法があると思うので、それで出来るか試してみてはどうでしょうか?

これについてもやってみたのですが、URLに明示したセッションIDが
使われることなく、毎ページセッションIDが新たにふられています。

また、この現象はhttp、httpsに関係なく起こります。

逆に、Apache Httpd + Tomcat連携でセッションがちゃんと維持され
ているという方はいらっしゃいますか?

よろしくお願いいたします。
あぶぽん
大ベテラン
会議室デビュー日: 2005/10/20
投稿数: 205
投稿日時: 2006-08-24 16:25
どうも.

Apache Httpd + Tomcat連携でセッションがちゃんと維持されて
いるサイトはありますよ.

# サイトというか企業システムですが.

Tomcatも5.1ぐらいのときはセッションが保持されない障害が報告
されていました.

mod_jk, mod_sslの設定が気になります.
もう一度, 確認されてみては如何でしょうか.
http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/mod_jk-howto.html
http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/tomcat-ssl-howto.html

# SSLにこだわる理由は,
# | Apacheとmod_sslと一緒にmod_jkを仕様する時には、
# | "SSLOptions +StdEnvVars +ExportCertData" をhttpd.confファイル中に
# | 指定する必要があります。
# | そうしないと、mod_sslはmod_jkに必要な環境変数を生成しません。
# | (Tilo Christ <tilo.christ@med.siemens.de>)
# という報告を目にしたからです.
# 特に関係ないかも知れません.
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-08-24 17:30
コメントありがとうございます。

>Apache Httpd + Tomcat連携でセッションがちゃんと維持されて
>いるサイトはありますよ.

ですよね...


念の為、SSLの設定については見直しました。

1.
jcert.jar, jsse.jar, jnet.jar を $TOMCAT_HOME/server/lib
に配置しました。(JDK 1.5.0なので不要かと思われますが)

2.
JkExtractSSL On
JkHTTPSIndicator HTTPS
JkSESSIONIndicator SSL_SESSION_ID
JkCIPHERIndicator SSL_CIPHER
JkCERTSIndicator SSL_CLIENT_CERT
の設定を追加しました。

3.
SSLOptions +StdEnvVars +ExportCertData
の設定を追加しました。

その他は、設定済みだったので、以上の設定を追加して
試しましたが、状況は変わりませんでした。

連携の仕方自体がおかしいのかもしれないので、
http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/mod_jk-howto.html
こちらも見直してみます。

取り急ぎ、ご報告までに。


[ メッセージ編集済み 編集者: Jumpin' Jack Flash 編集日時 2006-08-24 17:45 ]

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