WAS/Tomcat 12

[정보] Tomcat Manager 관리자 패스워드 암호화

Tomcat Manager (웹 관리툴)를 사용하기 위해서는 tomcat-users.xml 파일에 관리자 계정과 패스워드를 설정해야 하는데, 패스워드를 평문(cleartext)으로 설정하면, 보안상 이슈가 있을 수 있다. 패스워드 노출을 피하고, 보안을 강화하기 위해서는 암호화가 필요하다. 1. 패스워드 암호화 $TOMCAT_HOME/bin/digest.sh -a [암호 알고리즘] 평문 예시) "mypasswd"를 암호화함 $ ./digest.sh -a MD5 "mypasswd" mypasswd:3102125cae72c19f215480ddf2d0d5c3 2. tomcat-users.xml 파일에 패스워드 암호화 예시) 위에서 암호화한 패스워드 설정 3. server.xml 구성 파일에 암호 알고리즘 설정..

WAS/Tomcat 2019.10.07

[정보] Tomcat Manager 설정

Tomcat은 WebLogic 등 상용 WAS에 비해서 강력하지는 않지만, Tomcat Manager라는 Web기반 관리 콘솔을 제공한다. 설치하면 기본적으로 사용할 수 없고, Tomcat Manager를 사용하기 위해서는 추가적인 설정이 필요하다. Tomcat 설치 디렉터리/conf/tomcat-users.xml 파일에 아래 4개 라인을 추가해야 한다. 파일을 저장한 후, Tomcat 인스턴스를 재기동해야 한다. 브라우저에서 아래 URL을 입력하면, 계정과 패스워드를 입력하라는 팝업이 뜨면, tomcat-users.xml 파일에 설정한 username과 password를 입력하면 된다. 위의 예시에서는 admin / admin을 입력하면 된다. http://IP:포트/manager 위의 rolename..

WAS/Tomcat 2019.10.01

[정보] Access 로그 설정

Access 로그는 Tomcat에 HTTP 클라이언트의 접속하는 정보를 기록하는 로그파일이다. 주로 Apache나 NginX와 같은 Web Server에서 클라이언트 접속기록으로 중요한 파일이지만, Tomcat 역시 Web Server 기능으로 브라우저에서 HTTP Connector로 직접 접속할 수 있으므로 Access 로그 기능을 지원하고 있다. 참고로 AJP 커넥터를 통해 접속하면 Access 로그에 기록하지 않는다. Access 로그 설정 server.xml 파일의 섹션에 아래 예시와 같이 설정할 수 있다 주요 속성은 다음과 같다. checkExists - 파일 존재 여부 체크 buffered - access 로그 출력 시에 버퍼링 여부. 기본값은 true이고, false로 설정하면, 접근 시에 ..

WAS/Tomcat 2019.10.01

[정보] Tomcat Native(APR) Connector 이해

Tomcat은 외부에서 메시지 유입 요청 시 프로토콜에 따라 크게 AJP Connector와 HTTP Connector로 구분할 수 있다.AJP Connector : Apache 와 같은 Web Server 를 통해 요청을 받는 경우에 사용하고, 바이너리 기반의 프로토콜로 동작HTTP Connector : 표준 HTTP 프로토콜로 요청을 받는 경우 사용 (브라우저 또는 Web Server를 통하는 경우) 여기에서 설명은 위의 Connector 중에서 HTTP Connector에 대해서 설명하고자 한다. 1. Tomcat Native(APR) Connector 개요 성능 개선을 위해 Java 언어가 아닌 네이티브(C언어, JNI 라이브러리)로 작성된 Connector 모듈을 말한다. Tomcat 설치 시에..

WAS/Tomcat 2019.10.01

[Tips] 특정 IP에서 WebApp에 대한 접근 차단

운영을 하다보면, 특정 WebApp(예, 관리자 페이지)에 대해 특정 IP 또는 특정 IP 대역에서 호출 가능 또는 차단하도록 접근을 제어가 필요한 경우가 있다. 1. 설정 방법 Tomcat의 주요 구성 파일인 server.xml의 해당 WebApp 설정 섹션에 아래와 같은 옵션을 추가하면 된다. 1) IP 허용 2) IP 차단 2. IP 포맷 1) 특정 IP 설정allow="127.0.0.1,192.1.1.12" 2) IP 대역 설정allow="10.*" // 10.으로 시작하는 모든 IPallow="192.1.1.*" // 192.1.1로 시작하는 모든 IP

WAS/Tomcat 2018.05.12

[Tips] JSP에서 한글 인코딩 처리

한글 처리하는 방법은 GET방식 요청, POST 방식 요청, Content 리턴 시에 따라 처리 방법이 다르다.아래 예제는 UTF-8 인코딩을 사용하는 예제이다. 만약에 EUC-KR을 사용하면 UTF-8 대신에 EUC-KR을 적용하면 된다. 1. GET 방식 요청에 대한 한글 처리GET 방식은 파라미터를 URI를 통해 전달하므로 URI Encoding 값을 설정하면됨. 관련 파라미터는 CATALINA_HOME/conf/server.xml 설정 파일을 수정하면 됨 ... .... 2. POST 방식 요청에 대한 한글 처리 ... ....위와 같이 설정하면 모든 JSP 소스에 대해 처리하기 때문에, 보통은 서블릿 Filter를 적용한다. 관련 Filter 소스 파일은 인터넷에서 쉽게 검색하여 다운로드 받을 ..

WAS/Tomcat 2016.12.11

[모니터링] JConsole로 Tomcat 서버 모니터링 하기

1. JConsole이란? JMX(Java Management Extensions)을 이용하여 로컬/원격 자바 플랫폼의 CPU, Memory, Heap, Thread 등 자원을 모니터링하는 툴GUI 기반 인터페이스 제공JDK 5부터 추가되었고, $JAVA_HOME/bin 에 설치됨. 2. 사용하기 위한 과정 모니터링을 하기위해서는 몇가지 설정이 필요하다. 1) JMX Remote 관련 JAR 파일 다운로드 (catalina-jmx-remote.jar 파일) http://tomcat.apache.org/download-70.cgi 사이트에서 다운로드 함. 아래 링크를 클릭하면 됨 2) JMX Remote 관련 JAR 파일 다운로드 (catalina-jmx-remote.jar 파일) http://tomcat..

WAS/Tomcat 2016.10.05

[Tips] Tomcat 기동 시에 특정 클래스 실행

[이슈] 보통 서블릿(servlet)은 처음 요청 처리 시에 로딩된다. 이로 인해 처음 요청 시에 보다 응답 속도가 느리다. 처음 요청 시에도 응답 속도를 빠르게 한다든지, 특정 Cache 영역의 데이터를 초기화 한다든지 등Tomcat 서버 기동 시에 해당 서블릿을 호출이 필요할 때가 있을 것이다. [해결책] web.xml 파일에 엘리먼트에 0 이상 양수값을 추가한다. 실행되는 순서는 값이 적을 수록 먼저 실행된다. 아래 예시에서는 Tomcat 기동 시에 servlet1 -> servlet3 -> servlet2 순서대로 서블릿이 실행된다. .... servlet1 com.yikim.Servlet1 0 servlet2 com.yikim.Servlet2 9 servlet3 com.yikim.Servlet3..

WAS/Tomcat 2016.09.20