반응형
하나의 서버 내에(같은 IP) 여러 톰캣을 설치하고 포트만 달리하여 서비스 할 경우 A사이트에 로그인 후 B사이트에 로그인을 하면 A사이트의 세션이 종료된다
이는 JSESSIONID라는 쿠키 이름이 같아 발생하는 이슈로 두 사이트의 IP가 같기 때문이다.
쿠키는 포트를 구분하지 않기에 이런 현상이 발생한다.
해결 방법은 각 톰캣의 server.xml에
<Context path="" sessionCookieName="TJSESSIONID" crossContext="true" />
를 추가한다.
이때 sessionCookieName을 서로 다르게 설정한다
위와 같이 각 사이트마다 다른 세션값을 가지고 있다.
또한 한개의 톰캣에 여러 프로젝트를 서비스 할 경우에도 이런 현상이 발생하는데
아래와 같이 path를 실제 경로로 설정하여 구분한다.
<Context path="/A" sessionCookieName="TJSESSIONID" crossContext="true" />
반응형