안녕하세요. 이번에 서버 이전을 하여

nginx에서 apache 2.4.6로 갈아 탔습니다.

 

nginx에서 쓰던 인증서를 아파치로 가져와서 설정하고 https를 적용하니..

 

http와 https 사이에 세션이 공유가 되지 않아서 풀리는 문제가 생겼습니다..

 

이런 경우 어떻게 해결해야하는지 궁금합니다. ㅜㅜ

  • profile

    http와 https의 도메인이 정확하게 같다면 세션도 자동으로 공유됩니다.

    예)

    - http://www.example.com

    - https://www.example.com

     

    도메인이 한 글자라도 다르면 자동으로 공유되지 않습니다.

    예)

    - http://www.example.com

    - https://ssl.example.com

     

    이런 경우에는 php.ini에서 session.cookie_domain = example.com

    이렇게 공통되는 부분(example.com)으로 지정해 주시면 양쪽의 세션이 공유됩니다.

     

    도메인이 전혀 다른 경우에는 이것도 안되므로 XE의 SSO 기능에 의존해야 합니다.

  • profile profile
    우선 답변 감사드립니다.
    http://www.example.com/
    https://www.example.com/shop
    우와 같이 도메인이 같으면 별도로 설정 할 필요가 없다고 보았긴했는데..
    결제를 하기위해 https 만 들어가면 로그인정보가 없다고 뜨네요 ㅠ
  • profile
    생각해보니 nginx는 도메인 conf 파일 안에 listen 80; listen 443; 같이 사용하던데...
    도메인 conf http, https 설정 같이 넣어도 될는지.. 궁금하네요
  • profile profile
    server { } 블럭 하나에 listen 80과 listen 443을 함께 넣어도 되지만, 세션 문제는 그것과는 상관없습니다.