개발일지 - Tomcat 2개 서버 localhost 에서 세션 끊길때

아침7시개발·2023년 11월 2일
0

개발일지

목록 보기
18/19

개발 중 로컬에서 A, B, C, D, E, F 6개의 각기다른 WAS 서버로 구동하는 프로젝트가 있다.

A라는 사이트에서 쿠키를 발급하고 나머지 사이트를 리다이렉트로 돌면서 발급받은 쿠키를 사용해서 로그인을 하는 방식이다.

개발 도중 로컬에서만 세션의 값을 넣어도 값을 불러오지 못하는 에러가 발생한다.

JSessionID 가 여러개의 프로젝트에서 같은 세션 아이디로 저장이 되어서 충돌하기때문에 발생하는 문제이다.

TOMCAT 에서는 서비스에따라 JSessionID의 세팅을 각각 해줄수있다.

server.xml에서 context 부분에

<Context path="" reloadable="false" privileged="true" docBase="D:/Web/WebContent"
               sessionCookieName="test_JSESSIONID" workDir="" crossContext="true" />

또는

  servlet:
    session:
      timeout: 300m # real : 30m -> 5h (300m)
      tracking-modes: cookie
      cookie:
        name: {새로운 세션아이디}

를 추가해주면 각기다른 세션아이디가 설정이 된다.
프로젝트 중에 세션아이디가 겹치지 않게 세팅해주면 해결된다.

그리고 실제로 도메인을갖고 운영되는 사이트는 세션 세팅을 따로해주지 않아도 충돌이 나지않는다.

profile
쉬엄쉬엄하는 개발자

0개의 댓글