HTTPS 에서 만든 세션이 HTTP 에서는 안 보이는 문제
글쓴이: yangkun / 작성시간: 월, 2009/02/16 - 11:35오전
안녕하세요
Tomcat5.5 를 컨테이너로 해서 사이트를 구축중에 있습니다.
도메인은 2개가 있습니다.
Tomcat server.xml 에서 두개의 Host를 구성했습니다.
SSL 키도 두개 있습니다.
*.aaa.com:443
*.bbb.com:444
로 두개의 Connector 를 구성했습니다.
양쪽 사이트 모두 로그인시에 HTTPS 로 폼을 전송합니다.(즉, 로그인 페이지는 http 이지만 form 전송은 https로 합니다.)
로그인을 하면 https://www.aaa.com 과 https://www.bbb.com:444 에서 각각 세션이 만들어집니다.
그러고난후에 http 로 리다이렉트 됩니다.
https://www.aaa.com 에서 만들어진 세션은 http://www.aaa.com 에서 유지가 됩니다.
즉, 계속 로그인을 유지하지만
https://www.bbb.com:444 에서 만들어진 세션은 http://www.bbb.com 에서 유지되지 않습니다.
로그인 상태가 아닌것으로 됩니다. https://www.bbb.com:444 의 주소로 페이지를 열면 로그인 상태로 나옵니다.
해결 방법을 아시는 분은 좀 도와주십시오.
혹, 어떤 부분을 더 살펴볼 수 있을지 조언도 아끼지 말아주십시오 ..
Forums:
저도 이거 매우 궁금한데...
아시는 분 안 계신가요? ㅠ.ㅠ
https에서 만들어진 쿠키는 http로 전송되지않습니다.
따라서 서버에 jsessionid가 전송되지않아 세션이 끊어지게 됩니다.
파이어폭스나의 파이어버그나 크롬의 개발툴을 열어서 cookie를 확인해 보시면 secure탭에 체크가 되어있는걸 확인하실 수 있습니다.
switch from HTTPS to HTTP으로 구글검색을 해보시면 자료가 꽤나..
댓글 달기