1. 미들웨어이야기/03. JBoss

[JBossEAP]jboss에서 JSESSIONID cookie name 변경 방법

알 수 없는 사용자 2014. 8. 31. 23:58

JSESSIONID cookie name 변경 방법

(*)4.x, 5.x 버전


JSESSIONID라는 cookie name servlet spec에 명시되어 있어서 따로 이를 위한 설정법을 JBoss에서 제공하지는 않는다.
하지만 아래와 같이 system property( run.conf JAVA_OPTS 부분에 설정 )에 등록하여 cookie name을 변경할 수 있다.

 

 

-Dorg.apache.catalina.JSESSIONID=MySessionCookie

 

 


(주의사항)

 

 

이렇게 JBoss 레벨에서 Cookie Name을 변경을 하면 mod-jk에서 설정을 변경시켜줄 부분이 생긴다.

 

 

mod-jk session stickyness 구현을 위하여 request cookie name을 보고 어느 WAS forwarding할지를 결정한다.
JBoss
에서는 이제 MySessionCookie라는 이름에 쿠키를 저장하여 보내므로 mod-jk에서도 역시 MySessionCookie라는 쿠키를 읽어야 할 것이다.
해결방법은 아래와 같다. ( mod-jk 1.2.27 버전에 추가된 속성임 )

 

 

workers.properties 파일에 보면 worker.session_cookie 값은 default JSESSIONID 이다. 아래와 같은 식으로 바꿔주면 된다.

worker.session_cookie=MySessionCookie

(*) version 6

As Servlet 3.0 spec, you can set the new cookie name in <cookie-config> in WEB-INF/web.xml like the following:

 

 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
...(snip)...

<session-config>
<cookie-config>
<name>MySessionCookie</name>
...(snip)...
</cookie-config>
</session-config>

...(snip)...
</web-app>

출처 네이버 카페 오픈소스 소프트웨어 기술공유

 

by 차규철