Sun Java System Application Server Enterprise Edition 8.1 2005Q2 관리 설명서

12장 서비스 구성

이 장에서는 Application Server의 HTTP 서비스 구성 요소에 대한 가상 서버 및 HTTP Listener 구성 방법에 대해 설명합니다.

HTTP 서비스 정보

HTTP 서비스

HTTP 서비스는 웹 응용 프로그램을 배포하고 배포된 웹 응용 프로그램을 HTTP 클라이언트에서 액세스할 수 있게 하는 기능을 제공하는 Application Server의 구성 요소입니다( 웹 응용 프로그램을 배포하는 방법 참조). 이 기능은 가상 서버와 HTTP Listener라는 두 종류의 관련된 객체 수단으로 제공됩니다.

가상 서버

가상 호스트라고도 하는 가상 서버는 동일한 물리적 서버에서 여러 개의 인터넷 도메인 이름을 호스트할 때 사용할 수 있는 객체입니다. 동일한 물리적 서버에서 호스트되는 모든 가상 서버는 해당 서버의 인터넷 프로토콜(IP) 주소를 공유합니다. 가상 서버는 서버의 도메인 이름(예: www.aaa.com)을 Application Server가 실행 중인 특정 서버와 연결합니다.


주 –

인터넷 도메인을 Application Server의 관리 도메인과 혼동하지 마십시오.


예를 들어, 물리적 서버에서 다음 도메인을 호스트하려고 합니다.

www.aaa.com
www.bbb.com
www.ccc.com

또한 www.aaa.com, www.bbb.comwww.ccc.com에 각각 연결된 웹 모듈 web1, web2web3이 있다고 가정합니다.

이러한 모든 URL을 물리적 서버에서 처리한다는 것을 의미합니다.

http://www.aaa.com:8080/web1
http://www.bbb.com:8080/web2
http://www.ccc.com:8080/web3

첫 번째 URL은 www.aaa.com 가상 호스트에 매핑되고 두 번째 URL은 www.bbb.com 가상 호스트에 매핑되며, 세 번째 URL은 www.ccc.com 가상 호스트에 매핑됩니다.

반면, 다음의 URL에서는 web3www.bbb.com에 등록되지 않았으므로 404 반환 코드가 반환됩니다.

http://www.bbb.com:8080/web3

이 매핑이 작동하려면 www.aaa.com, www.bbb.comwww.ccc.com 모두 물리적 서버의 IP 주소로 확인되어야 합니다. 이들을 네트워크의 DNS 서버에 등록해야 합니다. 또한 UNIX 시스템의 경우 이 도메인을 /etc/hosts 파일에 추가합니다(/etc/nsswitch.conf 파일의 hosts에 대한 설정에 files가 포함된 경우).

Application Server를 시작하면 다음과 같은 가상 서버를 자동으로 시작합니다.

비작업 환경에서 웹 서비스를 개발, 테스트 및 배포하기 위해서는 대개 server만이 유일하게 필요한 가상 서버입니다. 작업 환경에서는 물리적 서버가 하나만 있더라도 고유한 웹 서버를 가진 것으로 표시되도록 추가 가상 서버에서 사용자와 고객을 위한 호스팅 기능을 제공합니다.

HTTP Listener

가상 서버마다 하나 이상의 HTTP Listener를 통해 서버와 클라이언트 간의 연결을 제공합니다. 각 HTTP Listener는 IP 주소, 포트 번호, 서버 이름 및 기본 가상 서버를 가진 수신 소켓입니다.

HTTP Listener의 포트 번호와 IP 주소의 조합은 고유해야 합니다. 예를 들어, IP 주소를 0.0.0.0으로 지정하면 HTTP Listener를 시스템의 지정된 포트에 구성된 모든 IP 주소에서 수신할 수 있습니다. 또는 HTTP Listener에서 각 Listener에 대해 고유한 IP 주소를 지정할 수 있지만 동일한 포트를 사용합니다.

HTTP Listener는 IP 주소와 포트 번호의 조합이므로 동일한 IP 주소와 다른 포트 번호(예: 1.1.1.1:8081 및 1.1.1.1:8082)를 갖거나 다른 IP 주소와 동일한 포트 번호(예: 1.1.1.1:8081 및 1.2.3.4:8081, 시스템이 해당 주소에 모두 응답하도록 구성되어 있는 경우)를 갖는 여러 HTTP Listener를 가질 수 있습니다.

그러나 HTTP Listener에서 포트의 모든 IP 주소를 수신하는 0.0.0.0 IP 주소를 사용하는 경우 동일한 포트에서 특정 IP 주소를 수신하는 추가 IP 주소에 대한 HTTP Listener를 만들 수 없습니다. 예를 들어, 한 개의 HTTP Listener가 0.0.0.0:8080(포트 8080의 모든 IP 주소)을 사용하면 다른 HTTP Listener는 1.2.3.4:8080을 사용할 수 없습니다.

Application Server를 실행 중인 시스템은 대개 하나의 IP 주소만 액세스하기 때문에 HTTP Listener는 대개 0.0.0.0 IP 주소와 다른 포트 번호를 사용합니다. 각 포트 번호는 다른 용도에 사용됩니다. 시스템이 둘 이상의 IP 주소에 액세스할 경우 각 주소를 다른 용도로 사용할 수 있습니다.

기본적으로 Application Server가 시작되면

이러한 모든 Listener는 IP 주소 0.0.0.0과 Application Server 설치 중에 HTTP 서버 포트 번호로 지정한 포트 번호를 사용합니다. Application Server가 기본 포트 번호 값을 사용하면 http-listener-1은 포트 8080을 사용하고 http-listener-2는 포트 8181을 사용하며 admin-listener는 포트 4849를 사용합니다.

각 HTTP Listener에는 기본 가상 서버가 있습니다. 기본 가상 서버는 호스트 구성 요소가 HTTP Listener와 연결된 가상 서버와 일치하지 않는 모든 요청 URL을 HTTP Listener가 라우팅하는 서버입니다. 가상 서버는 http-listeners 속성에 HTTP Listener를 나열하여 HTTP Listener와 연결합니다.

또한 HTTP Listener에 억셉터 스레드 수도 지정합니다. 억셉터 스레드는 연결을 기다리는 스레드입니다. 스레드는 연결을 승인하고 이 연결을 작업자 스레드에서 선택할 수 있도록 연결 대기열이라고 하는 대기열에 둡니다. 새로운 요청이 있을 때 항상 사용할 수 있도록 억셉터 스레드를 충분히 구성합니다. 그러나 시스템에 많은 부담을 주지 않도록 적당히 구성합니다. 연결 대기열은 억셉터 스레드가 방금 수락한 새 연결과 연결 유지 연결 관리 하위 시스템이 관리하는 지속적인 연결을 모두 포함합니다.

요청 처리 스레드 집합은 연결 대기열에서 들어오는 HTTP 요청을 검색하여 처리합니다. 이 스레드는 헤더를 구문 분석하고 해당하는 가상 서버를 선택한 다음 요청 처리 엔진을 실행하여 요청을 서비스합니다. 처리할 요청이 더 이상 없지만 연결에서 HTTP/1.1을 사용하거나 Connection: keep-alive 헤더를 전송하여 지속성을 유지할 수 있는 경우 요청 처리 스레드에서는 연결이 유휴 상태인 것으로 가정하고 그 연결을 연결 유지 연결 관리 하위 시스템으로 전달합니다.

연결 유지 하위 시스템은 정기적으로 유휴 연결을 폴링하여 나중에 처리할 수 있도록 작업이 있는 연결을 연결 대기열에 넣어둡니다. 여기에서 요청 처리 스레드는 다시 연결을 검색하고 요청을 처리합니다. 연결 유지 하위 시스템은 수 만개의 연결을 관리할 수 있기 때문에 다중 스레딩되어 있습니다. 연결 개수를 더 작은 하위 집합으로 나누는 효율적인 폴링 기술을 사용하여 요청이 준비된 연결과 닫힌 것으로 간주해도 될 정도로 허용 가능한 최대 연결 유지 시간을 초과한 것으로 충분히 유휴 상태였던 연결을 확인합니다.

HTTP Listener의 서버 이름은 서버가 리디렉션의 일부로 클라이언트에 전송한 URL에 표시되는 호스트 이름입니다. 이 속성은 서버에서 자동으로 생성하는 URL에 영향을 주지만, 서버에 저장된 디렉토리 및 파일의 URL에는 영향을 주지 않습니다. 서버에서 별칭을 사용하는 경우 이 이름은 대개 별칭 이름입니다. 클라이언트가 Host: 헤더를 보내면 호스트 이름이 리디렉션에서 HTTP Listener의 서버 이름 값을 대체합니다.

원래 요청에 지정된 것과는 다른 포트 번호를 사용하도록 리디렉션 포트를 지정합니다. 다음 상황 중 하나에서 리디렉션이 발생합니다.

HTTP Listener에 대한 보안 활성화 여부 및 사용한 보안 종류(예: SSL 프로토콜 및 암호화)도 지정합니다.

Application Server에 배포된 웹 응용 프로그램에 액세스하려면 웹 응용 프로그램에 지정된 컨텍스트 루트와 함께 URL http://localhost:8080/(보안 처리된 응용 프로그램일 경우 http://localhost:8080/)을 사용합니다. 관리 콘솔에 액세스하려면 https://localhost:4849/ 또는 https://localhost:4849/asadmin/ URL(기본 컨텍스트 루트)을 사용합니다.

가상 서버에서 기존 HTTP Listener를 지정해야 하고 다른 가상 서버에서 이미 사용 중인 HTTP Listener는 지정할 수 없기 때문에 새로운 가상 서버를 만들기 전에 최소한 하나의 HTTP Listener를 만들어야 합니다.

HTTP Service에 대한 관리 콘솔 작업

ProcedureHTTP 서비스를 구성하는 방법

  1. 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 그 인스턴스의 구성 노드를 선택합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 선택합니다.

    • default-config의 사본을 사용하는 향후 인스턴스에 대한 기본 설정을 구성하려면 default-config 노드를 선택합니다.

  3. HTTP 서비스 노드를 선택합니다.

  4. HTTP 서비스 페이지에서 모든 서비스의 HTTP Listener에 적용되는 등록 정보를 설정할 수 있습니다.

    다음 표에 등록 정보가 나열되어 있습니다.

    등록 정보 이름  

    설명 

    기본값 

    traceEnabled

    true로 설정한 경우 TRACE 작업이 활성화됩니다. Application Server가 사이트 간 스크립팅 공격에 덜 민감하게 하려면 이 등록 정보를 false로 설정합니다.  

    false 

    monitoringCacheEnabled

    true로 설정하면 Application Server는 HTTP 서비스의 통계 로컬 값을 캐시하여 통계 쿼리에 응답합니다. 이 값은 성능을 향상시킵니다.  

    false로 설정하면 Application Server는 통계값마다 HTTP 서비스에 쿼리합니다.  

    true 

    monitoringCacheRefreshInMillis

    모니터링 캐시를 새로 고치는 간격(밀리초)을 지정합니다.  

    5000 

    sslCacheEntries

    캐시할 수 있는 SSL 세션 수를 지정합니다. 상한값은 없습니다.  

    10000 

    sslSessionTimeout

    SSL2 세션이 시간 초과할 때까지의 시간(초)을 지정합니다.  

    100 

    ssl3SessionTimeout

    SSL3 세션이 시간 초과할 때까지의 시간(초)을 지정합니다.  

    86400 

    sslClientAuthDataLimit

    클라이언트 인증서 핸드셰이크 단계 중에 버퍼링되는 응용 프로그램 데이터의 최대량을 바이트로 지정합니다.  

    1048576 

    sslClientAuthTimeout

    클라이언트 인증서 핸드셰이크 단계가 시간 초과할 때까지의 시간(초)을 지정합니다.  

    60 

    keepAliveQueryMeanTime

    원하는 연결 유지 대기 시간(밀리초)을 지정합니다.  

    100 

    keepAliveQueryMaxSleepTime

    앞으로의 요청을 위해 연결 유지 연결을 폴링한 후 일시 정지하는 상한값(밀리초)을 지정합니다.  

    100 

    stackSize

    원 스레드의 최대 스택 크기를 지정합니다.  

    OS/시스템 종속 

    statsProfilingEnabled

    false로 설정하면 서비스의 모니터링 통계 기록이 비활성화되므로 성능이 향상됩니다. 이 등록 정보가 false로 설정된 경우 HTTP 서비스에 대한 모니터링 활성화에는 아무런 영향을 주지 않습니다.  

    true 

    chunkedRequestBufferSize

    요청 데이터의 청크 해제 기본 버퍼 크기(바이트)를 지정합니다.  

    8192 

    chunkedRequestTimeoutSeconds

    요청 데이터의 청크 해제 기본 시간 초과(초)를 지정합니다.  

    60 

    dnsCacheEnabled

    true로 설정하면 사용자가 캐싱과 관련된 통계를 모니터할 수 있습니다. HTTP 프로토콜 탭의 DNS 조회 상자를 선택한 경우에만 이 등록 정보가 효과가 있습니다. 그렇지 않은 경우 등록 정보 설정이 무시됩니다.  

    false 

  5. 액세스 로그 탭을 눌러 액세스 로그 회전을 구성합니다.

    다른 탭을 눌러 요청 처리, 연결 유지 하위 시스템, 연결 풀, HTTP 프로토콜 및 HTTP 파일 캐시를 구성합니다.

  6. 저장을 누릅니다.

ProcedureHTTP 서비스 액세스 로그를 구성하는 방법

이 페이지를 사용하여 가상 서버에 대한 액세스 로그의 회전을 활성화 및 구성합니다. 로그는 domain-dir/logs/access 디렉토리에 있으며 이름은 다음과 같습니다. virtual-server-name _access_log%YYYY;%MM;%DD-%hh;h%mm;m%ss;s

기본값을 눌러 기본값을 로드합니다.

  1. 파일 회전 상자를 선택하여 파일 회전을 활성화합니다.

    기본적으로 파일 회전이 활성화됩니다.

  2. 회전 정책 드롭다운 목록에서 정책을 선택합니다.

    사용 가능한 유일한 정책은 time입니다.

  3. 회전 간격 필드에서 숫자 값을 입력하여 액세스 로그 회전 간 시간(분)을 지정합니다.

    회전 정책이 time일 경우에만 이 필드가 유효합니다. 기본값은 1440분입니다.

  4. 회전 접미어 필드에서 문자열 값을 입력하여 회전 후 로그 파일 이름에 추가되는 접미어를 지정합니다.

    기본값은 %YYYY;%MM;%DD;-%hh;h%mm;m%ss;s입니다.

  5. 형식 필드에서 문자열 값을 입력하여 액세스 로그의 형식을 지정합니다.

    아래 표에 표시된 형식을 사용합니다. 기본 형식은 %client.name% %auth-user-name% %datetime% %request% %status% %response.length%입니다.

    데이터 

    토큰 

    클라이언트 호스트 이름 

    %client.name%

    클라이언트 DNS 

    %client.dns%

    시스템 날짜 

    %datetime%

    전체 HTTP 요청 행 

    %request%

    상태 

    %status%

    응답 내용 길이 

    %response.length%

    참조자 헤더 

    %header.referer%

    사용자 에이전트 

    %header.user-agent%

    HTTP 메소드 

    %http-method%

    HTTP URI 

    %http-uri%

    HTTP 쿼리 문자열 

    %query-str%

    HTTP 프로토콜 버전 

    %http-version%

    승인 헤더 

    %header.accept%

    날짜 헤더 

    %header.date%

    If-Modified-Since 헤더 

    %header.if-mod-since%

    인증 헤더 

    %header.auth%

    RFC 2616에 정의된 유효한 HTTP 헤더 값(any도 유효한 헤더 값이며 여기서 변수로 지정됨)

    %header.any%

    인증된 사용자 이름 

    %auth-user-name%

    쿠키 값 

    %cookie.value%

    가상 서버 아이디 

    %vs.id%

  6. 저장을 눌러 변경 사항을 저장하거나 기본값 로드를 눌러 기본 설정으로 돌아갑니다.

ProcedureHTTP 서비스 요청 처리 스레드를 구성하는 방법

  1. 기본값 로드를 눌러 기본값을 로드합니다.

  2. 스레드 수 필드에 숫자 값을 입력하여 최대 요청 처리 스레드 수를 지정합니다.

    기본값은 128입니다.

  3. 초기 스레드 수 필드에 서버를 시작할 때 사용 가능한 요청 처리 스레드 수를 입력합니다.

    기본값은 48입니다.

  4. 스레드 증분 필드에 요청 수가 초기 스레드 수를 초과할 경우 추가되는 요청 처리 스레드 수를 입력합니다.

    기본값은 10입니다.

  5. 요청 시간 초과 필드에서 요청이 시간 초과된 후의 시간(초)을 입력합니다.

    기본값은 30초입니다.

  6. 버퍼 길이 필드에 요청 처리 스레드가 요청 데이터를 읽는 데 사용하는 버퍼 크기(바이트)를 입력합니다.

    기본값은 2,048바이트입니다.

  7. 저장을 눌러 변경 사항을 저장하거나 기본값 로드를 눌러 기본 설정으로 돌아갑니다.

ProcedureHTTP 서비스 연결 유지 하위 시스템을 구성하는 방법

  1. 기본값 로드를 눌러 기본값을 로드합니다.

  2. 스레드 수 필드에 사용할 연결 유지 스레드 수를 입력합니다.

    기본값은 1입니다.

  3. 최대 연결 필드에 유지 관리할 지속적인 최대 연결 수를 입력합니다.

    기본값은 256입니다.

  4. 시간 초과 필드에 연결 유지 연결을 열어두는 최대 시간(초)을 입력합니다.

    기본값은 30초입니다.

  5. 저장을 눌러 변경 사항을 저장하거나 기본값 로드를 눌러 기본 설정으로 돌아갑니다.

ProcedureHTTP 서비스 연결 풀 구성

  1. 기본값 로드를 눌러 기본값을 로드합니다.

  2. 보류 중인 최대 연결 수 필드에 HTTP Listener에 대해 허용된 보류 중인 최대 연결 수를 입력합니다.

    기본값은 4096입니다.

  3. 대기열 크기 필드에 연결 대기열의 최대 크기를 바이트로 입력합니다.

    이 값은 서버가 유지할 수 있는 해결되지 않은 최대 연결 수도 지정합니다. 기본값은 4096입니다.

  4. 수신 버퍼 크기 필드에 HTTP Listener의 수신 버퍼 크기를 입력합니다.

    기본값은 4096입니다.

  5. 전송 버퍼 크기 필드에 HTTP Listener의 전송 버퍼 크기를 입력합니다.

    기본값은 8192입니다.

  6. 저장을 눌러 변경 사항을 저장하거나 기본값 로드를 눌러 기본 설정으로 돌아갑니다.

ProcedureHTTP 서비스에 대해 HTTP 프로토콜을 구성하는 방법

  1. 기본값 로드를 눌러 기본값을 로드합니다.

  2. 버전 필드에 사용할 HTTP 프로토콜의 버전(HTTP/1.0 또는 HTTP/1.1)을 입력합니다.

    기본값은 HTTP/1.1입니다.

  3. DNS 조회 상자를 선택하여 클라이언트에 대한 DNS 항목 조회를 활성화합니다.

    기본값은 false입니다.

  4. SSL 상자에서 확인 표시를 제거하여 서버의 보안을 전역적으로 비활성화합니다.

    보안이 활성화된 Listener에 대해 SSL을 사용할 수 있게 하려면 이 값을 true로 설정합니다. 기본값은 true입니다.

  5. 강제 응답 유형 필드에 확장자와 일치하는 사용 가능한 MIME 매핑이 없을 경우 사용할 응답 유형을 입력합니다.

    기본값은 text/html; charset=iso-8859-1입니다.

  6. 기본 응답 유형 필드에 기본 응답 유형을 입력합니다.

    기본값은 text/html; charset=iso-8859-1입니다. 값은 내용 유형, 인코딩, 언어 및 문자 집합으로 구성된 세미 콜론으로 구분된 문자열입니다.

  7. 저장을 눌러 변경 사항을 저장하거나 기본값 로드를 눌러 기본 설정으로 돌아갑니다.

ProcedureHTTP 서비스에 대해 HTTP 파일 캐시를 구성하는 방법

파일 캐시는 정적 내용을 저장하므로 서버에서 관련 내용에 대한 요청을 신속하게 처리합니다.

  1. 기본값 로드를 눌러 기본값을 로드합니다.

  2. 전역 상자를 선택하여 파일 캐시를 활성화합니다.

    기본값은 true입니다.

  3. 파일 전송 상자를 선택하여 Windows에서 TransmitFileSystem 메소드 사용을 활성화합니다.

    기본값은 false입니다.

  4. 최대 사용 시간 필드에 유효한 캐시 항목의 최대 사용 시간(초)을 입력합니다.

    기본값은 30초입니다.

  5. 최대 파일 수 필드에 파일 캐시의 최대 파일 수를 입력합니다.

    기본값은 1,024입니다.

  6. 해시 초기 크기 필드에 해시 버킷의 초기 수를 입력합니다.

    기본값은 0입니다.

  7. 중간 파일 크기 제한 필드에 메모리 매핑된 파일로 캐시할 수 있는 파일의 최대 크기를 바이트로 입력합니다.

    기본값은 537,600바이트입니다.

  8. 중간 파일 크기 필드에 메모리 매핑된 파일로 캐시된 모든 파일의 전체 크기를 바이트로 입력합니다.

    기본값은 10,485,760바이트입니다.

  9. 작은 파일 크기 제한 필드에 메모리로 읽어 들일 수 있는 파일의 최대 크기를 바이트로 입력합니다.

    기본값은 2,048바이트입니다.

  10. 작은 파일 크기 필드에 메모리로 읽어 들인 모든 파일의 전체 크기를 바이트로 입력합니다.

    기본값은 1,048,576바이트입니다.

  11. 파일 캐싱 사용 가능 드롭다운 목록에서 ON 또는 OFF를 선택하여 파일 크기가 중간 파일 크기 제한보다 작을 경우 파일 내용을 캐싱할지 여부를 설정합니다.

    기본값은 ON입니다.

  12. 저장을 눌러 변경 사항을 저장하거나 기본값 로드를 눌러 기본 설정으로 돌아갑니다.

가상 서버에 대한 관리 콘솔 작업

Procedure가상 서버를 만드는 방법

  1. 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 그 인스턴스의 구성 노드를 선택합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 선택합니다.

    • default-config의 사본을 사용하는 향후 인스턴스에 대한 기본 설정을 구성하려면 default-config 노드를 선택합니다.

  3. HTTP 서비스 노드를 확장합니다.

  4. 가상 서버 노드를 선택합니다.

  5. 가상 서버 페이지에서 새로 만들기를 누릅니다.

    가상 서버 만들기 페이지가 표시됩니다.

  6. 아이디 필드에 가상 서버에 대한 고유한 이름을 입력합니다.

    이 값은 가상 서버를 내부적으로 식별하는 데 사용됩니다. HTTP 클라이언트에게는 이 값이 노출되지 않습니다. HTTP 클라이언트에게 노출되는 호스트 이름은 호스트 필드에서 지정해야 합니다.

  7. 호스트 필드에 서버가 실행 중인 시스템의 이름이나 호스트 이름을 입력합니다.

    네트워크의 DNS 서버(UNIX 시스템의 경우 /etc/hosts 파일)에 등록된 실제 또는 가상 호스트 이름을 사용합니다.

  8. 반대 상태 영역에서 설정, 해제 또는 사용 안 함을 선택합니다.

    기본값은 설정입니다.

  9. HTTP Listener 필드를 비워둡니다.

    HTTP Listener를 만들어 이 서버와 연결하면 자동으로 입력됩니다.

    이 필드를 사용하려면 기존 HTTP Listener를 지정해야 합니다. 그러나 다른 가상 서버에서 사용하는 Listener는 지정하지 마십시오. 지정할 경우 서버 로그에 오류가 표시됩니다. Listener는 만들 당시에 기존 가상 서버와 연결되어야 하므로 모든 기존 Listener는 다른 가상 서버에서 사용하고 있습니다.

  10. 기본 웹 모듈 드롭다운 목록에서 해당 가상 서버에 배포된 다른 웹 모듈에 매핑할 수 없는 모든 요청에 응답하는 배포된 웹 모듈을 선택합니다.

    기본 웹 모듈을 지정하지 않으면 컨텍스트 루트가 비어 있는 웹 모듈이 사용됩니다. 컨텍스트 루트가 비어 있는 웹 모듈이 없을 때는 시스템 기본 웹 모듈이 생성되어 사용됩니다.

  11. 로그 파일 필드에 이 가상 서버의 로깅 메시지가 표시되는 파일의 경로 이름을 입력합니다.

    기본 서버 로그 domain-dir/logs/server.log로 로깅 메시지를 보내려면 이 필드를 비워둡니다.

  12. 추가 등록 정보 영역에서 등록 정보 추가를 눌러 가상 서버에 대한 등록 정보를 추가합니다.

    등록 정보 지정 여부와 상관없이 새로운 서버에는 기본 등록 정보 docrootaccesslog가 기본값으로 설정됩니다.

    다음 표는 사용 가능한 가상 서버 등록 정보를 나열합니다.

    등록 정보 이름  

    설명 

    docroot

    서버의 루트 문서 디렉토리 절대 경로입니다.  

    기본값은 domain-dir/docroot입니다.

    accesslog

    서버 액세스 로그 절대 경로입니다.  

    기본값은 domain-dir/logs/access입니다.

    sso-enabled

    false인 경우 이 가상 서버에 대해 단일 사인 온(SSO)이 비활성화되므로 사용자는 가상 서버의 모든 응용 프로그램마다 별도로 인증해야 합니다.  

    서블릿과 JSP 페이지는 Application Server의 전체 응용 프로그램에서 단일 사인 온(SSO)을 지원합니다. 이 기능을 사용하면 응용 프로그램마다 사용자가 별도로 사인온할 필요없이 같은 사용자 사인온 정보를 여러 응용 프로그램에서 공유할 수 있습니다.  

    기본값은 true입니다.  

    sso-max-inactive-seconds

    클라이언트 작업이 수신되지 않는 경우 사용자의 단일 사인 온(SSO) 레코드가 삭제되기까지의 시간(초)을 지정합니다. 단일 사인 온(SSO)은 같은 가상 서버의 여러 응용 프로그램에 모두 적용되므로 한 응용 프로그램만 액세스해도 단일 사인 온(SSO) 레코드가 활성화 상태로 유지됩니다.  

    기본값은 300초(5분)입니다. 값이 클수록 사용자에 대한 단일 사인 온(SSO) 지속성이 더 길어지지만 서버에서 더 많은 메모리를 사용하게 됩니다.  

    sso-reap-interval-seconds

    만료된 단일 사인 온(SSO) 레코드의 제거 간격(초)을 지정합니다.  

    기본값은 60입니다.  

    allowLinking

    true일 경우 심볼릭 링크인 자원이 이 가상 서버에 배포된 모든 웹 응용 프로그램에 대해 작동합니다. sun-web.xml 파일의 sun-web-app 등록 정보 allowLinking을 사용하여 개별 웹 응용 프로그램이 이 설정을 대체할 수 있습니다.

    <sun-web-app>
       <property name="allowLinking" 
          value="{true|false}"/>
    </sun-web-app>

    기본값은 true입니다.  

  13. 확인을 눌러 가상 서버를 저장합니다.

해당 asadmin 명령

create-virtual-server

Procedure가상 서버를 편집하는 방법

  1. 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 그 인스턴스의 구성 노드를 선택합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 선택합니다.

    • default-config의 사본을 사용하는 향후 인스턴스에 대한 기본 설정을 구성하려면 default-config 노드를 선택합니다.

  3. HTTP 서비스 노드를 확장합니다.

  4. 가상 서버 노드를 선택합니다.

  5. 편집할 가상 서버를 선택합니다.

  6. 가상 서버 편집 페이지에서 다음 작업을 수행할 수 있습니다.

    • 호스트 필드의 호스트 이름을 변경합니다.

    • 상태 설정 값을 변경합니다.

    • HTTP Listener를 추가하거나 제거합니다.

    • 기본 웹 모듈 선택을 변경합니다.

    • 로그 파일 값을 변경합니다.

    • 등록 정보를 추가, 제거 또는 수정합니다.

  7. 저장을 눌러 변경 사항을 저장합니다.

Procedure가상 서버를 삭제하는 방법

  1. 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 그 인스턴스의 구성 노드를 선택합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 선택합니다.

    • default-config의 사본을 사용하는 향후 인스턴스에 대한 기본 설정을 구성하려면 default-config 노드를 선택합니다.

  3. HTTP 서비스 노드를 확장합니다.

  4. 가상 서버 노드를 선택합니다.

  5. 가상 서버 페이지에서 삭제할 가상 서버 이름 옆에 있는 상자를 선택합니다.

  6. 삭제를 누릅니다.

    __asadmin 가상 서버를 삭제할 수 있지만 권장하지 않습니다. 삭제할 경우에는 필요할 때 이 설정을 복원할 수 있도록 먼저 Application Server의 domain.xml 파일에 있는 virtual-server 요소를 안전한 장소에 복사합니다.

해당 asadmin 명령

delete-virtual-server

HTTP Listener에 대한 관리 콘솔 작업

ProcedureHTTP Listener를 만드는 방법

  1. 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 그 인스턴스의 구성 노드를 선택합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 선택합니다.

    • default-config의 사본을 사용하는 향후 인스턴스에 대한 기본 설정을 구성하려면 default-config 노드를 선택합니다.

  3. HTTP 서비스 노드를 확장합니다.

  4. HTTP Listener 노드를 선택합니다.

  5. HTTP Listener 페이지에서 새로 만들기를 누릅니다.

    HTTP Listener 만들기 페이지가 표시됩니다.

  6. 이름 필드에 Listener의 이름을 입력합니다.

  7. 서버를 다시 시작할 때 Listener를 사용하지 않으려면 Listener 필드의 사용 가능 확인란에서 선택 표시를 제거합니다.

  8. Listener가 고유한 포트 값을 사용하여 서버의 모든 IP 주소에서 수신하게 할 경우 네트워크 주소 필드에 0.0.0.0을 입력합니다. 그렇지 않으면 서버에 대한 유효한 IP 주소를 입력합니다.

  9. Listener 포트 필드에 네트워크 주소 필드가 0.0.0.0인 경우는 고유한 포트 값을 입력하고 다른 IP 주소를 사용하는 경우는 원하는 포트 값을 입력합니다.

  10. 기본 가상 서버 드롭다운 목록에서 가상 서버를 선택합니다.

  11. 서버 이름 필드에서 서버가 클라이언트에 전송하는 URL에서 사용할 호스트 이름을 입력합니다. 서버에서 별칭을 사용하는 경우 이 이름은 별칭 이름입니다.

    서버에서 별칭을 사용하지 않으면 이 필드를 비워둡니다.

  12. 고급 영역에서 다음 작업을 수행합니다.

    • 요청을 다른 포트로 리디렉션하려면 리디렉션 포트 필드에 값을 입력합니다. 다음 두 가지 조건이 있을 경우 Application Server는 요청을 자동으로 리디렉션합니다.

      • Listener가 비 SSL 요청을 지원합니다.

      • 일치하는 보안 제한 조건에서 SSL 전송을 필요로 하는 요청을 수신합니다.

        기본적으로 Application Server는 원래 요청에 지정된 포트 번호를 사용합니다.

    • 억셉터 스레드 수를 변경합니다.

    • 서블릿에서 생성한 HTTP 응답 헤더에 X-Powered-By: Servlet/2.4 헤더가 포함되지 않게 하려면 제공 상자에서 확인 표시를 제거합니다.

      Java Servlet 2.4 사양에서는 이 헤더를 정의하여 컨테이너가 서블릿에서 생성한 응답에 추가할 수 있습니다. 마찬가지로 JavaServer PagesTM(JSPTM) 2.0 사양에서는 JSP 기술을 사용하는 응답에 경우에 따라 추가할 X-Powered-By: JSP/2.0 헤더를 정의합니다. 웹 응용 프로그램의 경우 기본적으로 X-Powered-By: JSP/2.0 헤더 포함이 활성화되어 있습니다. 이 헤더의 목적은 서블릿 및 JSP 기술 사용에 대한 통계 데이터를 수집하는 데 있어 웹 사이트 관리자를 지원하는 것입니다.

      JSP 페이지의 X-Powered-By 헤더를 활성화 및 비활성화하는 방법에 대한 자세한 내용은 Application Server Developer’s Guide의 “Deployment Descriptor Files” 장을 참조하십시오. 이 설명서에 대한 링크는 추가 정보를 참조하십시오.

      작업 환경에서 X-Powered-By 헤더 생성을 생략하여 사용 기술을 숨길 수 있습니다.

  13. 보안되지 않는 Listener를 만들려면 확인을 누릅니다.

  14. 이 페이지의 SSL 절에서 SSL, TLS 또는 SSL 및 TLS 보안 둘 다를 사용하도록 Listener를 구성할 수 있습니다.

    보안 Listener를 설정하려면 다음 작업을 수행합니다.

  15. 보안 필드에서 사용 가능 확인란을 선택합니다.

  16. 이를 사용할 경우 클라이언트가 자신을 서버에 인증하도록 하려면 클라이언트 인증 필드에서 사용 가능 확인란을 선택합니다.

  17. 인증서 별명 필드에 기존 서버 키 쌍 및 인증서의 이름을 입력합니다. 자세한 내용은 보안 장을 참조하십시오.

  18. SSL3/TLS 절:

    1. Listener에서 활성화할 보안 프로토콜을 선택합니다. SSL3, TLS 또는 둘 다를 선택합니다.

    2. 프로토콜이 사용하는 암호 제품군을 선택합니다. 모든 암호 제품군을 사용하려면 지원되는 모든 암호 제품군을 선택합니다. 개별 암호 제품군을 활성화할 수도 있습니다.

  19. 이제 기본 가상 서버로 지정된 가상 서버의 HTTP Listener 필드에 Listener가 나열됩니다.

해당 asadmin 명령

create-http-listenercreate-ssl

ProcedureHTTP Listener를 편집하는 방법

  1. 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 그 인스턴스의 구성 노드를 선택합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 선택합니다.

    • default-config의 사본을 사용하는 향후 인스턴스에 대한 기본 설정을 구성하려면 default-config 노드를 선택합니다.

  3. HTTP 서비스 노드를 확장합니다.

  4. HTTP Listener 노드를 선택합니다.

  5. 편집할 HTTP Listener를 선택합니다.

  6. HTTP Listener 편집 페이지에서 설정을 수정합니다.

  7. 저장을 눌러 변경 사항을 저장합니다.

ProcedureHTTP Listener를 삭제하는 방법

  1. 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 그 인스턴스의 구성 노드를 선택합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 선택합니다.

    • default-config의 사본을 사용하는 향후 인스턴스에 대한 기본 설정을 구성하려면 default-config 노드를 선택합니다.

  3. HTTP 서비스 노드를 확장합니다.

  4. HTTP Listener 노드를 선택합니다.

  5. HTTP Listener 페이지에서 삭제할 HTTP Listener 이름 옆에 있는 상자를 선택합니다.

  6. 삭제를 누릅니다.

    http-listener-1 , http-listener-2admin-listener HTTP Listener를 삭제할 수 있지만 권장하지 않습니다. 삭제할 경우에는 필요할 때 이 설정을 복원할 수 있도록 먼저 Application Server의 domain.xml 파일에 있는 http-listener 요소를 안전한 장소에 복사합니다.

해당 asadmin 명령

delete-http-listener