차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
conf_engine_host_root.xml [2026/04/23 01:24] – koovconf_engine_host_root.xml [2026/10/27 10:55] (현재) – [Context.xml] koov
줄 1: 줄 1:
  --- //[[[email protected]|이강우]] 2015/08/03 16:13//  --- //[[[email protected]|이강우]] 2015/08/03 16:13//
 ====== Context.xml ====== ====== Context.xml ======
 +
 +
 +  * ''privileged="false"'' : 해당 웹 애플리케이션이 톰캣의 내부 서블릿 및 권한 클래스에 접근할 수 있는지 여부를 설정합니다.
 +    * 역할: 기본값은 false입니다. true로 설정하면 톰캣 내부 기능(예: 매니저 애플리케이션용 서블릿 등)에 접근할 수 있는 특권을 부여받습니다.
 +    * 설정된 값 의미: 톰캣 내부 자원에 접근할 수 있도록 서블릿 권한을 허용합니다.
 +    * 사용 예시: 톰캣의 상태를 모니터링하거나 애플리케이션을 원격 배포/중지하는 Tomcat Manager App (/manager) 같은 관리용 웹 앱을 만들 때 필요합니다.
 +    * 보안 위험: 일반 사용자용 웹 애플리케이션에 ''privileged="true"''를 설정하면 애플리케이션 취약점을 통해 톰캣 내부 시스템이 노출될 수 있으므로 운영 환경의 일반 앱에서는 false로 유지해야 합니다.
 +
 +  * ''reloadable="false"'' : ''/WEB-INF/classes/'' 및 ''/WEB-INF/lib/'' 디렉터리 내부의 클래스 파일이나 라이브러리 변경 감지 및 자동 재로딩 여부를 설정합니다.
 +    * 역할: 소스 코드가 수정되어 클래스 파일이 변경되었을 때 톰캣 전체를 재시작하지 않고 해당 웹 애플리케이션만 자동으로 재로드합니다.
 +    * 설정된 값 의미: 클래스 파일의 변경 사항을 모니터링하여 감지 시 자동으로 웹 앱을 다시 로드합니다.
 +    * ''개발 환경(Development)'': 코드를 수정하고 컴파일할 때마다 서버를 껐다 켜지 않아도 되므로 개발 생산성을 높이기 위해 ''true''로 사용합니다.
 +    * ''운영 환경(Production)'': 백그라운드 쓰레드가 지속적으로 파일 변경을 감지하므로 부하(CPU/메모리)가 크게 증가하며, 반복적인 재로드 과정에서 Classloader 메모리 누수(Memory Leak)가 발생하여 서버가 멈출 수 있습니다. **운영 환경에서는 반드시 false로 설정해야 합니다.**
 +
 <WRAP prewrap> <WRAP prewrap>
 <code vim ROOT.xml> <code vim ROOT.xml>
 <?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
  
-<Context docBase="/software/docroot/app.war" privileged="true" reloadable="true">+<Context docBase="/software/docroot/app.war" privileged="false" reloadable="false">
 <!-- ### SqLite JDBC JNDI - 1node ### <!-- ### SqLite JDBC JNDI - 1node ###
         <Resource name="jdbc/sqlite"         <Resource name="jdbc/sqlite"
  • conf_engine_host_root.xml.txt
  • 마지막으로 수정됨: 2026/10/27 10:55
  • 저자 koov