아파치 톰캣 서블릿/JSP 컨테이너

아파치 톰캣 7

Version 7.0.28-dev, Oct 2 2013
Apache Logo

Links

User Guide

참고

아파치 톰캣 개발

아파치 포터블 런타임 (APR) 톰캣 기반 기본 라이브러리

차례
소개

톰캣은 뛰어난 확장성, 성능 및 기본 서버 기술로 더 나은 통합을 제공하기 위해 Apache Portable Runtime를 사용할 수 있습니다. 아파치 포터블 런타임은 아파치 HTTP 서버 2.x.의 핵심이며 휴대용 라이브러리입니다. 이런 APR은 고급 IO 기능(예:sendfile, epoll and OpenSSL 등)에 대한 접근을 포함하여 OS 수준의 기능 (난수 생성, 시스템 상태), 그리고 기본 프로세스 처리(공유 메모리, NT 파이프와 유닉스 소켓) 등 많은 용도로 사용되고 있습니다.

이러한 기능은 일반적인 목적의 웹 서버를 톰캣을 이용하도록 하며, 다른 기본 웹 기술과 훨씬 더 통합을 가능하게 하고, 전반적인 자바가 단순히 백엔드에 주력한 기술보다 전체 본격적인 웹서버 플랫폼으로 훨씬 더 성공할 수 있도록 만들어 줍니다.

설치

설치하기 위해서는 APR을 지원하는 세가지 주요 기본 요소가 필요:

  • APR 라이브러리
  • 톰캣(libtcnative)에 의해 사용될 APR을 위한 JNI wrappers
  • OpenSSL libraries

windows

윈도우 바이너리는 tcnative-1을 위해, OpenSSL과 APR을 포함하는 정적으로 컴파일된 .dll이 제공됩니다. 그것은 32 비트 또는 AMD X86-64 바이너리로서 여기에서 다운로드할 수 있습니다. 보안에 민감한 생산 환경에서는, 그것은 openssl, APR, 그리고 libtcnative-1에 대해 별도의 공유 DLL을 사용하고 보안 공지에 따라 필요한 것들을 업데이트하는 것이 좋습니다. 윈도우 OpenSSL 바이너리는 공식적인 OpenSSL 웹사이트 (관련된 참조/바이너리)에 링크되어 있습니다.

Linux

대부분의 리눅스 배포판은 APR과 OpenSSL을 위한 패키지를 출시할 것입니다. JNI wrapper(libtcnative)는 컴파일해야 합니다.그것은 APR,OpenSSL,그리고 자바 헤더에 따라 달라집니다.

요구 사항:

  • APR 1.2+ 개발 헤더 (libapr1-dev 패키지)
  • OpenSSL 0.9.7+ 개발 헤더 (libssl-dev 패키지)
  • 자바 호환 JDK 1.4 이상 JNI 헤더
  • GNU 개발 환경 (gcc, 확인)

wrapper 라이브러리 소스가 bin/tomcat-native.tar.gz아카이브 톰캣 바이너리 번들에 있습니다. 빌드 환경이 설치되고 소스 아카이브가 압축되면 wrapper 라이브러리는 (configure 스크립트가 들어있는 폴더에서)를 사용하여 컴파일 할 수 있음 :

./configure && make && make install

APR 요소

라이브러리가 제대로 설치(로딩이 실패하는 경우 라이브러리 경로가 표시됨) 및 자바에서 사용할 수 있으려면, 톰켓 커넥터가 자동으로 APR을 사용할 수 있어야 합니다. 커넥터의 구성은 일반 커넥터와 비슷하지만 APR 구성 요소를 구성하는 데 사용되는 몇 가지 추가 속성이 있습니다. 기본값은 사용 상황에 따라 잘 조정하도록 주의해야 하고, 추가적인 수정이 필요하지 않아야 합니다.

APR이 활성화된 경우 다음과 같은 기능도 톰캣에 사용할 수 있음 :

  • 모든 플랫폼에서 기본적으로 안전한 세션 ID 생성 (구성 엔트로피를 사용하여 리눅스에 필요한 난수 생성 이외의 플렛폼)
  • 톰캣 프로세스에 의한 메모리 사용량과 CPU 사용량에 대한 OS 수준 통계는 상태 서블릿에 의해 표시

APR 수명주기 리스너 구성
AprLifecycleListener

SSLEngine을 사용하기 위해 지정합니다. off : SSL을 사용하지 마십시오, on : 특정 엔진이 아닌 SSL을 사용하십시오. 기본값은 on입니다. 이것은 SSLEnabled 속성을 사용하여 커넥터에서 엔진의 사용을 활성화 후, 네이티브 SSL 엔진을 초기화합니다. 예 :

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
      

SSL 하드웨어 엔진과 제조 업체에 대한 자세한 내용은 공식적인 openSSL 웹사이트를 참조하십시오.

APR 커넥터 구성
HTTP/HTTPS

HTTP 구성의 경우, HTTP에 커넥터 구성 설명서를 참조하십시오.

HTTPS를 구성 내용, HTTPS 에 커넥터 구성 설명서를 참조하십시오.

예를 들어, SSL 커넥터 선언은 다음과 같음 :

      <Connector port="443" maxHttpHeaderSize="8192"
                 maxThreads="150"
                 enableLookups="false" disableUploadTimeout="true"
                 acceptCount="100" scheme="https" secure="true"
                 SSLEnabled="true"
                 SSLCertificateFile="${catalina.base}/conf/localhost.crt"
                 SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />

AJP

AJP 구성 내용, AJP 에 커넥터 구성 설명서를 참조하십시오.


Copyright © 1999-2013, Apache Software Foundation