Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

지석이의 일기

one tomcat 세션 유지가 안되던 사항 본문

IT 에러경험

one tomcat 세션 유지가 안되던 사항

91년도에 철산에서 태어난 최지석 2024. 10. 11. 11:39

 

조용히 java 프로젝트 운영중 갑자기 로그인이 안된다는 소식을 듣게됨.

 

로그인 해보니 자꾸 로그인 페이지로 튕기는 현상이 발견.

 

A페이지(로그인 페이지): 로그인정보 받음. B로 FORMSUBMIT함.

B페이지: A정보를 기반으로 AUTH체크후 session.setAttribute("UserInfo", sessionMap); 함.

 

이후, 유저 페이지로 전환되어야 하는데,  A페이지로 전환됨.

당연히 유저페이지에서 유저 세션 체크 후 유저 세션이 없으니 A페이지로 전환되는 현상 확인.

 

세션이 유지 되지 않는 점을 확인.

 

그리하여 아래와 같은 원인 분석에 나섬

1. session.setAttribute 이후 try catch 로 session 정보가 날아간걸까?

==> 페이지 리다이렉션 직전에 session.get을 통해 정보가 셋팅이 된걸 확인

==> 문제 아님

 

2. 클러스터링이 문제 인가?

==> tomcat은 단순이 1개라서 문제일수가 없다.

 

3. 혹시 새로운 세션을 생성하는건가? 

==> request.getSession(true)을 통해 새로운 세션을 만들수 있다고 하는데, 소스 검색 결과 아님.

*만일 이 문제였으면 조낸 소스 관리문제다.

 

4. 혹시 인터셉터나 필터에서 세션을 캐치해서 삭제하나?

==> 소스 조회 결과 아니다.

 

5. 쿠키가 제대로 설정이 되는가?

==> 마지막 체크 부분이다.

세션을 저장하면, 세션의 아이디 정보를 쿠키에 저장하는데...

 

정상적이라면 이렇게 쿠키에 저장되 어야하는데, 나의 경우 저장이 되지 않는다!..

쿠키가 저장이 되지않는다...

그 원인을 보니 나의 도메인이 https가 아니라 http이므로, web.xml에 secure 부분에 의해 쿠키 설정이 되지 않은것...

 

 

스프링의 경우

    • server.servlet.session.cookie.secure=false
      

 

이런식으로 데이터를 소스를 바꿔주고 재시작하자.

 

서버 관리자 놈이 뭐 보안 운운하면서 저걸 몰래 바꿔놨었다.