Tomcat Cookie Domain 이슈 해결

기존 서비스를 Tomcat7에서 Tomcat8로 업그레이드 하는 과정에서 문제가 발생했다. 
원인을 찾아보니 서비스 내 쿠키 생성시 서브 도메인에서도 같이 사용 할 수 있도록 .xxx.com 을 도메인으로 생성하고 있었다.
그런데 Tomcat8에서 도메인이 .(dot)으로 시작하는 쿠키를 생성할 수 없도록 변경되었다. (RFC 6265 Cookie Processor 정책)

해결방안

  • 쿠키 도메인을 .(dot)으로 시작하지 않도록 변경한다.
  • 기존 LegacyCookieProcessor를 사용하도록 context.xml에 아래와 같이 코드를 추가해줘야 한다.
    <CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" />

참조 - https://stackoverflow.com/questions/29608550/tomcat-cookie-domain-validation

'Development > WAS' 카테고리의 다른 글

Web & WAS  (0) 2016.12.12
Tomcat 서비스 설치/삭제  (0) 2016.10.29

Web & WAS


Web과 WAS를 소개하기에 앞서 정적/동적 페이지를 알아야 한다.

정적 페이지
- 어떤 요청이든지 항상 동일한 내용이 반환되는 페이지
- 주로 HTML, CSS, JS, Image 등으로 이루어진 페이지

동적 페이지
- 동일한 리소스의 요청이라도 요청에 따라 각기 다른 내용이 반환되는 페이지 
- 코드가 포함되어 있어 페이지 요청 시점에 만들어지는 페이지


Web Server
클라이언트의 요청을 받아 처리하고, 그 결과를 웹 클라이언트에게 응답하는 역할을 한다.
주로 정적 페이지인 HTML, CSS, JS 등을 웹 클라이언트에 제공할 때 사용하며, 동적인 페이지 처리가 필요하면 요청을 WAS로 넘긴다.
- Apache, IIS, Nginx 등


Web Container
JSP와 서블릿을 실행시킬 수 있는 소프트웨어로 웹 서버에서 JSP를 요청하면 서블릿으로 변환하여 컴파일하고 그 결과를 웹 서버에 전달한다.


WAS (Web Application Server)
웹 서버와 웹 컨테이너의 결합 형태로 정적 페이지 뿐만 아니라 동적인 페이지도 처리한다.
주로 웹 서버에서 넘어온 동적인 페이지를 처리하여 웹 서버로 돌려준다.
- Tomcat, Jetty, JEUS, Web Logic 등


WAS는 대부분 웹 서버의 기능을 가지고 있다. 그럼에도 다른 웹 서버와 연동해서 사용하는 이유는 아래와 같다.
- WAS는 웹 서버 만큼 정적인 문서를 빠르게 처리하지 못한다.
- WAS는 웹 서버 만큼 다양한 옵션 및 환경 설정 기능을 제공하지 못한다.
- WAS는 웹 서버 만큼 안정적이지 못하다.


웹 서버와 WAS를 연동한 구조


WS(웹 서버)와 WAS를 기능적으로 분류해 효과적인 분산을 유도한 형태이다.

정적인 데이터는 앞단의 WS에서 처리하고, 동적인 데이터는 뒷단의 WAS에서 처리한다.
사용자의 요청에 대해 정적인 데이터를 앞단의 WS에 위치시켜 처리함으로써 WAS로 서비스 요청이 넘어가지 않게 한다.

또한, 웹 애플리케이션 서비스를 뒷단의 WAS에 넘겨줌으로써 WAS는 웹 애플이케이션의 수행에 집중할 수 있다.
WS에서 처리할 것과 WAS로 넘길 것을 처리하는 방식은 WS의 환경설정를 통해 처리할 수 있다. 

'Development > WAS' 카테고리의 다른 글

Tomcat Cookie Domain 에러  (0) 2017.12.02
Tomcat 서비스 설치/삭제  (0) 2016.10.29


우선, 톰캣을 설치하기 위해 http://tomcat.apache.org/ 사이트에 들어가 원하는 버전의 톰캣을 다운받아 압축을 해제한다.


서비스를 등록하기 위해 cmd 창에서 톰캣이 설치된 디렉토리로 이동한다.

혹은 apache-tomcat-버전\bin 디렉토리로 이동해 Shift + 마우스 우클릭하여 '여기서 명령창 열기'를 클릭한다.

1
~\bin> service.bat install
cs

해당 경로에서 위와 같이 명령어를 입력하여 실행하면 서비스가 정상적으로 설치된다.

실행창(Win + R)에 services.msc를 입력하면 서비스 창이 나오는데 Apache Tomcat 버전이 등록되었고 시작 및 중지 시킬 수 있다.

서비스를 시작시킨 후 http://localhost:8080/를 요청하면 기본적으로 톰캣 고양이가 나타날 것이다. 잘 설치되었음을 알 수 있다.


서비스를 제거하기 위해 동일하게  cmd 창에서 톰캣이 설치된 디렉토리로 이동한다.

1
~\bin> service.bat remove
cs

해당 경로에서 위와 같이 명령어를 입력하여 실행하면 서비스가 정상적으로 제거된다.


* 삭제시 유의사항

설치된 톰캣 디렉토리만 삭제한다고 해서 서비스가 삭제되지 않는다. 

반드시, 먼저 명령을 실행시켜 서비스 창에서 등록된 서비스가 지워진 것을 확인한 후에 디렉토리를 삭제해야 한다.

'Development > WAS' 카테고리의 다른 글

Tomcat Cookie Domain 에러  (0) 2017.12.02
Web & WAS  (0) 2016.12.12

+ Recent posts