동일 서버의 여러 WAS일 경우 세션 끊김 현상
- 작성자 :
- 박*우
- 작성일 :
- 2014-04-01 23:29:47
- 조회수 :
- 1,362
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
테스트 중에 문제가 발생하여 문의 드립니다.
전자정부에 포함된 spring security 로 로그인을 처리하고 있습니다만.
용도가 다른 웹 어플리케이션을 각각의 톰캣에 포트만 다르게 구성하였습니다.
http://localhost:8080/
http://localhost:9080/
일 경우 8080으로 접근하여 처리하고 다른 탭으로 9080으로 접근할 경우 8080의 웹 어플리케이션 세션이 끊어져서 로그인 화면으로 이동되었습니다.
해당 현상에 대해서 문의 드립니다.
전자정부에 포함된 spring security 로 로그인을 처리하고 있습니다만.
용도가 다른 웹 어플리케이션을 각각의 톰캣에 포트만 다르게 구성하였습니다.
http://localhost:8080/
http://localhost:9080/
일 경우 8080으로 접근하여 처리하고 다른 탭으로 9080으로 접근할 경우 8080의 웹 어플리케이션 세션이 끊어져서 로그인 화면으로 이동되었습니다.
해당 현상에 대해서 문의 드립니다.
A
안녕하세요. 박정우님.
WAS가 세션을 관리하는 방식이 cookie 기반으로 관리하고 있어서 발생되는 문제입니다.
즉, 서버 상에 세션 정보를 connectionless 방식인 http를 통해 관리하기 위해서 cookie 상에 고유ID(JSESSIONID)를 가지고 있습니다.
이 정보를 통해 서버 상에 저장되어 있는 세션정보를 얻어오는 방식입니다.
문제는 cookie가 도메인 기반으로 처리되기 때문에 위 2개의 사이트에 대하여 하나의 JSESSIONID를 가지고 처리되기 때문입니다.
이 경우는 JSESSIONID 자체 값을 웹애플리케이션 또는 WAS 별로 변경하실 수 있는데, 변경 방식은 사용하시는 WAS쪽 문서를 참조하시면 됩니다.
(JSESSIONID_8080, JSESSION_9080 등으로 구분하여 지정)
그럼, 즐거운 하루되십시오.
감사합니다.
WAS가 세션을 관리하는 방식이 cookie 기반으로 관리하고 있어서 발생되는 문제입니다.
즉, 서버 상에 세션 정보를 connectionless 방식인 http를 통해 관리하기 위해서 cookie 상에 고유ID(JSESSIONID)를 가지고 있습니다.
이 정보를 통해 서버 상에 저장되어 있는 세션정보를 얻어오는 방식입니다.
문제는 cookie가 도메인 기반으로 처리되기 때문에 위 2개의 사이트에 대하여 하나의 JSESSIONID를 가지고 처리되기 때문입니다.
이 경우는 JSESSIONID 자체 값을 웹애플리케이션 또는 WAS 별로 변경하실 수 있는데, 변경 방식은 사용하시는 WAS쪽 문서를 참조하시면 됩니다.
(JSESSIONID_8080, JSESSION_9080 등으로 구분하여 지정)
그럼, 즐거운 하루되십시오.
감사합니다.