본문 바로가기

개발중/Kubernetes (k8s)

Docker / k8s 환경에서 cookie (JSESSIONID) 가 발급되지 않았을 때 해결 방법 ( server.xml Alias 추가로 해결 )

728x90
반응형

 

기존에 일반 서버에서 관리되던 웹을 k8s 에 업로드 해야하는 일이 생겼습니다.

 

대상 프로젝트는 Spring Core 프로젝트로써 Spring Boot 기반 프로젝트 들과 쿠키 설정하는 방식도 달랐습니다.

 

 

문제 1

로그인 관리를 JSESSIONID 쿠키를 사용하여 관리를 하는데, JESSEIONID 가 발급되지 않는다 (?)

Api 요청은 정상적으로 이뤄지나 쿠키 발급이 되지 않았다.

 

정리 1

프로세스들을 아래와 같이 정리해봤습니다.

 

 

각각의 파드가 로딩 될 때는 localhost 로 로딩이 되어야 합니다.

( 외장 톰캣이므로 server.xml 에 host 를 적어줘야함 )  

 

후에 생성된 pod 들에게 접근 할 수 있는 service 를 생성하고

istio 를 이용해 service 에 접근할 수 있는데

 

이 때 이스티오로 접근하는 host 는 test.soobin.com 입니다.

server.xml 의 Host 부분을 아래와 같이 바꿔줬습니다.

 

  <Host name="localhost"
        appBase="webapps"
        unpackWARs="true"
        autoDeploy="true"
        xmlValidation="false"
        xmlNamespaceAware="false">
    <Context docBase="/usr/local/tomcat/webapps/lucy" path="" reloadable="true">
    </Context>
    <Alias>test.soobin.com</Alias>
    <Valve className="org.apache.catalina.valves.AccessLogValve"
           directory="console"
           prefix="localhost_access_log."
           suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  </Host>

 

 

<Alias> 태그를 통해 이스티오에서 매핑된 도메인을 명시해줬습니다.

main Host  는 localhost 로 명시했습니다.

 

테스트 성공

Host.name = localhost 
Alias = test.soobin.com 

 

테스트 실패  ( 쿠키 생성 실패 )

Host.name = test.soobin.com 
Alias = localhost 

 

테스트 실패  ( 쿠키 생성 실패 )

Host.name = localhost 
Alias =

 

테스트 실패 ( 쿠키 생성 실패 )

Host.name = test.soobin.com 
Alias = 

728x90
반응형

'개발중 > Kubernetes (k8s)' 카테고리의 다른 글

Spring Boot vs Fluentd vs ElasticSearch ✨  (0) 2023.12.13
Dockerfile Build 에러 (jdk 버전 문제)  (0) 2023.09.05
쿠버네티스의 여정  (0) 2022.05.04