Jul 262007
アプリケーションの実装としてではなく、Tomcatレベルで変更する方法です。
@ITのフォーラムには以下のQAがあります。
JSESSIONIDを保持したCookieをsecure属性にする方法 – Java Solution
こちらによれば、Tomcatは「セキュアな通信の場合CookieにSecureを付与してくれる」ことになります。
ところがApacheやTomcatでSSLしてる場合はよいのですが、SSLアクセラレータやロードバランサ、stunnelなどでSSLを解除しているとsecureと認識されなくなってしまい、Secure属性が付与されなくなってしまいます。
で、TomcatのAJP13コネクタ定義にはsecureという属性があり、こちらをtrueに設定するとresponse.isSecure()にtrueを返してくれるようになります。
Attribute | Description |
---|---|
secure | Set this attribute to true if you wish to have calls to request.isSecure() to return true for requests received by this Connector (you would want this on an SSL Connector). The default value is false. |
ですのでserver.xmlのコネクタ定義で以下の設定をおこなえば、毎回cookie.setSecure(true)が実行されて、CookieにSecureが付与されるようになります。
<Connector port="8009" secure="true" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
Sorry, the comment form is closed at this time.