sin개발자
214
2021-01-05 13:09:00
3
189

로그인 시 JSESSIONID 질문


PC버전 URL과

MOBIL 버전 URL이 있습니다.


예를 들어서 각각

192.168.0.2:8443

192.168.0.3:8442 

라고 했을 때 

192.168.0.2:8443 여기에 SSL 인증을 적용시켜놓고

192.168.0.3:8442  여기에는 SSL 인증을 적용시키지 않았습니다.


192.168.0.3:8443  여기에서 로그인을 했을 때 문제없이 로그인이 되는데

192.168.0.3:8442  여기에서 로그인을 하면 브라우저 COOKIE에 JSESSIONID가 저장되지 않더라고요.

또 URL뒤에 ;jsessionid= 이런식으로 붙습니다.


SSL인증을 모두 안했을 때 와

SSL인증을 모두 했을 때 에는 두 URL 모두 정상적으로 로그인이 되는데


둘중 하나만 SSL인증을 적용시키면 왜 브라우저에 JSESSIONID가 저장되지 않나요?

0
  • 답변 3

  • bzietro
    364
    2021-01-05 15:04:36

    웹 서버 쿠키 설정을 한번 봐보세요

    https 에만 허용하도록 해놓는다면 그럴 수 있죠

  • 컴포지트
    1k
    2021-01-05 15:05:12 작성 2021-01-05 15:05:29 수정됨

    http 와 https 접속은 아무리 도메인 및 IP가 같아도 다른 호스트 취급합니다. 쿠키를 같이 연동할 수 없는 환경이죠. 부분적용을 꼭 하고 싶으면 SSO 처럼 http 사이트와 https 사이트 모두 세션을 쿠키에 저장하도록 유도해야 합니다.

  • sin개발자
    214
    2021-01-06 16:06:46

    위에 선배님들 답변감사합니다.


    아 질문이 잘못되 있었네요

    url은 모두 192.168.0.3 이고 포트번호만 다른것으로 간주해주세요!


    질문 했을 때는 이미 문제를 해결한 상태였습니다.


    두 포트 모두 ssl 인증을 해 놓으니 정상적으로 브라우저 cookie에 jsessionid를 저장 하더군요.


    저는 보다 정확한 원인을 알고자 질문을 했던 것 뿐입니다.

    아직 제가 명확하게 이해가 된것이 아니라 공부를 더 해야겠네요.

  • 로그인을 하시면 답변을 등록할 수 있습니다.