Where The Streets Have No Name

server.xml 파일설명 본문

Developement/Java

server.xml 파일설명

highheat 2006. 5. 8. 20:55

<!-- Example Server Configuration File -->
           <!-- Note: 컴포넌트들은 각각의 부모-자식 관계에 따라 중첩(nested) 되었음 -->

            <!-- "Server" 는 전체 JVM 을 나타내는 싱글톤 요소입니다. 이것은 하나 이상의
                "Service" 인스턴스를 갖고 있습니다. 서버는 지정된 포트를 통해 shutdown
                명령을 받습니다.

                 Note: "Server" 는 스스로가 "Container" 가 아니기 때문에, "Valves" 또는
                "Loggers" 같은 서브 컴포넌트를 "Server" 와 같은 레벨에서 정의하면 안됩
                니다. -->

            <Server port="8005" shutdown="SHUTDOWN" debug="0">


             <!-- "Service" 는 한 개의 "Container" 를 공유하는 하나 이상의 "Connectors"
                  의 집합체입니다. (이 컨테이너 안에서 웹어플리케이션이 돌아갑니다). 보통
                  은, 이 컨테이너가 "Engine" 입니다만, 요구되지는 않습니다. 

                   Note:  "Service" 는 스스로가 "Container" 가 아니기 때문에, "Valves"
                  또는 "Loggers" 같은 서브 컴포넌트를 "Server" 와 같은 레벨에서 정의하면
                  안됩니다.
              -->

              <!-- Tomcat Stand-Alone Service 로 설정하기 -->
             <Service name="Tomcat-Standalone">

                <!-- "Connector" 는 요청을 받아서, 응답이 반환되는 종점(endpoint)을 나타냅니
                    다. 각 커넥터는 처리를 담당하는 관련된 "Container"(보통 "엔진")로 요청을
                    전달해줍니다.

                     기본값으로, 8080포트에 non-SSL HTTP/1.1 커넥터가 설정되어있습니다.
                    SSL HTTP/1.1 커넥터 역시 사용하려면 아래에 있는 지시를 따라서 하고, 두번
                    째 커넥터 엔트리의 주석표시를 지워주시면 됩니다. SSL 지원은 다음 단계를
                    거쳐야 합니다:
                    * JSSE 1.0.2 또는 이후 버전을 다운받아서 설치하고, JAR 파일들을
                      "$JAVA_HOME/jre/lib/ext" 디렉토리에 복사해 놓습니다.
                    * "$JAVA_HOME/jre/lib/security/java.security" 를 편집하고
                      security.provider.2=com.sun.net.ssl.internal.ssl.Provider 를 추가합
                      니다.
                    * 실행: keytool -genkey -alias tomcat -keyalg RSA
                      패스워드 값"changeit" 으로 실행합니다.

                     기본적으로, DNS lookups 는 웹어플리케이션이 request.getRemoteHost() 를
                    부를 때 동적하도록 되어있습니다. 이것은 성능에 영향을 줄 수 있기 때문에,
                    "enableLookups" 속성을 "false" 로 바꿔주면 이 기능을 사용하지 않을 수
                    있습니다.  DNS lookups 가 사용하지 않게 되면 request.getRemoteHost() 는
                    remote client 의 IP 주소의 String 버전을 반환할 것입니다.
               -->

                <!-- 8080 포트에 non-SSL HTTP/1.1 Connector 설정하기 -->
               <Connector className="org.apache.catalina.connector.http.HttpConnector"
                          port="80" minProcessors="5" maxProcessors="75"
                          enableLookups="true" redirectPort="8443"
                          acceptCount="10" debug="0" connectionTimeout="60000"/>
               <!-- Note : 커넥션 타임아웃을 사용하지 않으려면, connectionTimeout 값을 -1로
                 수정해 주세요.-->

                <!-- 8443 포트에 SSL HTTP/1.1 Connector 설정하기 -->
               <!--
               <Connector className="org.apache.catalina.connector.http.HttpConnector"
                          port="8443" minProcessors="5" maxProcessors="75"
                          enableLookups="true"
                      acceptCount="10" debug="0" scheme="https" secure="true">
                 <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
                          clientAuth="false" protocol="TLS"/>
               </Connector>
               -->

                <!-- 8081 포트에 Proxied HTTP/1.1 Connector 설정하기 -->
               <!-- 사용법에 대한 자세한 내용은 proxy 문서를 보십시오. -->
               <!--
               <Connector className="org.apache.catalina.connector.http.HttpConnector"
                          port="8081" minProcessors="5" maxProcessors="75"
                          enableLookups="true"
                          acceptCount="10" debug="0" connectionTimeout="60000"
                          proxyPort="80"/>
               -->

                <!-- 8082 포트에 non-SSL HTTP/1.0 Test Connector 설정하기 -->
               <!--
               <Connector className="org.apache.catalina.connector.http10.HttpConnector"
                          port="8082" minProcessors="5" maxProcessors="75"
                          enableLookups="true" redirectPort="8443"
                          acceptCount="10" debug="0"/>
               -->

                <!-- Engine 은 (Catalina 에서) 모든 요청을 처리하는 입력지점을 나타냅니다.
                    Tomcat stand alone 용으로 구현된 Engine 은 요청에 포함된 HTTP 헤더를 분
                    석하고, 적당한 Host (가상 호스트) 로 전달하는 역할을 합니다. -->

                <!-- 컨테이너 구조에서 top level 컨테이너 설정하기 -->
               <Engine name="Standalone" defaultHost="localhost" debug="0">

                  <!-- 요청 dumper 밸브는 Tomcat 의 인스턴스의 모든 요청을 받는 동안 들어온
                      요청 헤더와 쿠키, 보내질 응답 헤더와 쿠키에 대해 유용한 디버깅 정보를
                      덤프합니다. 만일 특정한 가상호스트, 또는 특정한 어플리케이션에 들어온
                      요청에만 만 관심을 갖고자 한다면, 이 요소를 해당하는 <Host> 나 <Context>
                      엔트리 아래에 위치시켜주십시오.

                       모든 서블릿 2.3 컨테이너에 유동적인 유사한 동작구조를 위해서, 예제
                      어플리케이션에 있는 "RequestDumperFilter" 필터를 확인하십시오.
                      (소스는 "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters"
                      위치에 있을 것입니다.)

                       기본적으로 Request dumping 기능은 사용하지 않는 것으로 되어있습니다.
                      다음의 요소에서 주석을 빼면 사용할 수 있습니다. -->
                 <!--
                 <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
                 -->

                  <!-- 하위수준에서 지정되지 않았다면 사용되는 Global Logger -->
                 <Logger className="org.apache.catalina.logger.FileLogger"
                         prefix="catalina_log." suffix=".txt"
                         timestamp="true"/>