私の観点からはIISで簡単に実行できますが、私はTomcatに完全に慣れていないため、Cookieのコンテンツに静的な値を設定する方法がわかりません. はい、セキュリティへの影響を読みましたが、最終的には SSL 経由でアクセスするので心配ありません。さらに、値を変更しないことに関する Servlet 3.0 仕様を読みましたが、それを受け入れます。
IIS では、WebServerSID の任意の設定と値 1001 を使用して、Set-Cookie という名前の HTTP ヘッダーを設定するだけです。
次に、この実サーバーのグループを含むロード バランサー VIP で、値 WebServerSID を VIP レベルで設定し、最初の Web サーバーの Cookie 値を 1001 に設定し、残りのマシンの Cookie 値をサーバー 2 の 1002、サーバー 3 の 1003 に設定します。
これにより、クライアントがブラウザを閉じるまで、Cookie を介してセッション アフィニティが実現されます。
Tomcat 7.0.22 でこれを行うにはどうすればよいですか?
Cookie とその設定方法に関して、Tomcat 6.x と 7.x の間で多くの構成変更が行われていることがわかります。先週の広範な調査の後、次のことを試しました。
web.xml 内: (これにより、Tomcat 7.x での URL 書き換えが無効になります)
<tracking-mode>COOKIE</tracking-mode>
デフォルトの session 要素の下
context.xml: (cookies はデフォルトで true ですが、動作させることができないので明示的でした)
cookies=true
sessionCookiePath=/
sessionCookieName=WebServerSID
sessionCookieName=1001
Tomcat 6.x の同等のコマンドが 1 にマージされたように見えるため、sessionCookieName の context.xml に 2 つのエントリがあります。http://tomcat.apache.org/migration-7.html#Tomcat_7.0 を参照してください。 x_configuration_file_differences
エキス:
org.apache.catalina.SESSION_COOKIE_NAME システム プロパティ: これは削除されました。グローバル context.xml (CATALINA_BASE/conf/context.xml 内) の sessionCookieName 属性を構成することによって、同等の効果を得ることができます。org.apache.catalina.SESSION_PARAMETER_NAME システム プロパティ: これは削除されました。グローバル context.xml (CATALINA_BASE/conf/context.xml 内) の sessionCookieName 属性を構成することによって、同等の効果を得ることができます。
これが正しくない場合は、必要な構文を理解していないだけであり、単純に白黒で説明している場所を見つけることができません。
Tomcat 6.x では、次のように設定で Java オプションを使用していました。
-Dorg.apache.catalina.SESSION_COOKIE_NAME=WebServerSID
-Dorg.apache.catalina.SESSION_PARAMETER_NAME=1001
私が使用しているアプリケーションには、これらの値が他に設定されていないため、アプリケーションではありません。
これらの設定はすべて、Catalina ベースの context/web/server.xml ファイルにあります。
一日の終わりに、Set-Cookies の下の応答ヘッダーで確認する必要があるのは (Fiddler を使用して見られるように) です。
WebServerSID=1001
いいえ
JSESSIONID=as8sd9787ksjds9d8sdjks89s898
前もって感謝します
よろしく