Sun ONE 로고     이전      목차      색인      다음     
Sun ONE Application Server 7, Update 1 관리자 설명서



가상 서버 사용

이 장에서는 Sun ONE Application Server를 사용하여 가상 서버를 설정 및 관리하는 방법에 대해 설명합니다. 가상 서버 내용에 대한 설정을 구성하는 방법에 대한 자세한 내용은 "가상 서버 내용 관리"를 참조하십시오.

이 장에서는 다음 내용을 설명합니다.

가상 서버 개요

가상 서버를 사용하는 경우, 설치된 단일 서버에 회사 또는 개인 도메인 이름과 IP 주소 및 서버 모니터링 기능을 제공할 수 있습니다. 사용자의 경우 하드웨어를 갖추고 가상 서버를 유지 관리하긴 하지만 고유 웹 서버를 가진 것과 거의 같습니다.

Sun ONE Application Server의 비번들 버전을 설치하면 응용 프로그램 인스턴스에 대한 기본 가상 서버가 만들어집니다. 즉, 기본 응용 프로그램 서버 인스턴스 server1에 대해 server1이라는 가상 서버가 또한 만들어집니다. Solaris 9 번들 버전을 사용하는 경우에는 서버 인스턴스를 만들어야 합니다. 서버 인스턴스를 만들면 이름이 같은 가상 서버가 또한 만들어집니다. 가상 서버는 이렇게 만든 각 추가 응용 프로그램 서버 인스턴스에 대해 만들어집니다. 가상 서버 만들기 및 구성에 대한 자세한 내용은 "가상 서버 만들기 및 구성"을 참조하십시오. 가상 서버 배포에 대한 자세한 내용은 "가상 서버 배포"를 참조하십시오.

가상 서버는 개별 가상 서버에서 사용 가능한 Sun ONE Application Server의 HTTP 기능을 제어합니다. 가상 서버를 여러 개 사용하지 않을 경우에도 응용 프로그램 서버 인스턴스를 사용하여 만든 기본 가상 서버를 구성하여 응용 프로그램 서버 인스턴스에 대한 특정한 등록 정보를 구성합니다.

가상 서버에 대한 설정은 instance_dir/config 디렉토리에 있는 server.xml 파일의 virtual-server 요소에 저장됩니다. 이 파일에 대한 자세한 내용은 Sun ONE Application Server Administrator's Configuration File Reference를 참조하십시오.

가상 서버에 대한 일부 정보는 obj.conf 파일에 저장됩니다. 각 가상 서버에는 별도의 obj.conf 파일이 있습니다.

이 절에서는 다음 항목에 대해 설명합니다.

HTTP Listener

서버와 클라이언트 간 연결은 수신 소켓이라고도 하는 HTTP Listener에서 이루어집니다. 사용자가 만든 각 HTTP Listener에는 IP 주소와 포트 번호, 서버 이름 반환 및 기본 가상 서버가 있습니다. HTTP Listener를 시스템의 해당 포트에 구성된 모든 IP 주소에서 수신하려면 IP 주소에 대해 0.0.0.0, any, ANY 또는 INADDR_ANY를 사용하십시오. HTTP Listener 만들기 및 구성에 대한 자세한 내용은 "HTTP Listener 만들기 및 구성"을 참조하십시오.

Sun ONE Application Server의 비번들 버전을 설치하면, 하나의 HTTP Listener (http-listener-1)가 자동으로 만들어집니다. 이 HTTP Listener는 IP 주소 0.0.0.0과 설치 중에 HTTP 서버 포트 번호로 지정한 포트 번호를 사용합니다. UNIX에서 기본 포트 번호는 루트로 설치하지 않는 경우 80 또는 1024입니다. 기본 HTTP Listener는 삭제할 수 없습니다. 여러 가상 서버를 사용 중인 경우, 모든 가상 서버에 대해 기본 HTTP Listener를 사용하거나 여러 HTTP Listener를 만들 수 있습니다.

Solaris 9 번들형 Sun ONE Application Server를 사용하는 경우, 서버 인스턴스를 만들 때 HTTP Listener가 생성됩니다. 이 HTTP Listener는 IP address 0.0.0.0과 인스턴스를 만들 때 지정한 포트 번호를 갖습니다.

HTTP Listener는 IP 주소와 포트 번호의 조합이므로, 여러 HTTP Listener의 IP 주소는 같고 포트 번호는 다를 수 있습니다 또는 IP 주소는 다르고 포트 번호는 같을 수 있습니다. 예를 들어, HTTP Listener는 1.1.1.1:81 및 1.1.1.1:82가 될 수 있으며, 1.1.1.1:81 및 1.2.3.4:81가 될 수도 있습니다. 이는 시스템이 해당 주소에 모두 응답할 수 있도록 구성된 경우에만 가능합니다. 그러나 한 포트에 지정된 모든 IP 주소에서 수신할 수 있는 0.0.0.0 IP 주소를 사용하는 경우, 특정한 IP 주소와 동일한 포트에서 수신할 수 있는 추가 IP 주소를 HTTP Listener에 설정할 수 없습니다. 예를 들어, 0.0.0.0:80(포트 80에 지정된 모든 IP 주소)을 사용하는 HTTP Listener가 있는 경우 1.2.3.4:80을 사용하는 HTTP Listener는 만들 수 없습니다.

또한 각 HTTP Listener에는 요청에서 지정한 가상 서버에 연결되지 않을 때 해당 요청을 라우팅하는 서버인 기본 가상 서버가 있습니다.

또한 HTTP Listener의 억셉터 스레드(억셉트 스레드라고도 함) 수를 지정합니다. 억셉트 스레드는 연결을 기다리는 스레드입니다. 스레드는 연결을 승인하고 이 연결을 작업자 스레드에서 선택할 수 있도록 대기열에 둡니다. 억셉트 스레드는 충분히 있으면 새로운 요청이 있을 때 항상 사용할 수 있으나 시스템에 많은 부담을 줄 수 있습니다. 기본값은 1이며, 시스템의 CPU당 하나의 억셉트 스레드를 갖는 것이 좋습니다. 성능에 문제가 있는 경우 이 값을 조정할 수 있습니다.

또한 HTTP Listener에 대한 보안의 사용 여부와 사용 중인 보안의 종류(예: SSL 종류 및 암호화 종류)를 지정할 수 있습니다.

가상 서버

가상 서버를 만들려면, 먼저 원하는 가상 서버의 종류를 결정해야 합니다. 사용자는 IP 주소 기반 가상 서버 또는 URL 호스트 기반 가상 서버를 사용하고 있을 수 있습니다. 가상 서버를 만들려면 하나의 가상 서버 ID, 하나 이상의 HTTP Listener 및 하나 이상의 URL 호스트를 지정해야 합니다.

이 절에서는 다음 항목에 대해 설명합니다.

가상 서버의 유형

모든 가상 서버에는 지정된 URL 호스트가 있습니다. 그러나 가상 서버를 HTTP Listener에 기반한 IP 주소에 연결할 수도 있습니다. 가상 서버의 HTTP Listener가 특정한 IP 주소에서 수신하는 경우, 이 가상 서버를 IP 주소 기반 가상 서버라고 합니다.

여러 가상 서버가 동일한 IP 주소에서 수신하는 경우, 해당 가상 서버는 URL 호스트에 의해 구별되므로 URL 호스트 기반 가상 서버라고 합니다.

새로운 요청이 있을 경우, 서버에서 IP 주소 또는 Host 헤더 값을 기반으로 하여 해당 요청을 전달할 서버의 종류를 결정합니다. 서버에서는 IP 주소를 먼저 평가합니다. 자세한 내용은 "요청 프로세스에 대한 가상 서버 선택"을 참조하십시오.

IP 주소 기반 가상 서버

한 컴퓨터에서 여러 IP 주소를 사용하려면 운영 체제를 통해 주소를 매핑하거나 추가 카드를 제공해야 합니다. 운영 체제를 통해 여러 IP 주소를 설정하려면 네트워크 제어판(Windows의 경우) 또는 ifconfig 유틸리티(UNIX의 경우)를 사용하십시오. ifconfig의 사용 방법은 플랫폼에 따라 다양합니다. 자세한 내용은 운영 체제 설명서를 참조하십시오.

특정한 IP 주소에서 수신하는 HTTP Listener를 만들어 IP 주소 기반 가상 서버를 만듭니다. 그런 다음 가상 서버(HTTP Listener에 대한 기본 가상 서버)를 연결합니다. 가상 서버 배포 방법에 대한 자세한 내용은 "가상 서버 배포"를 참조하십시오.

URL 호스트 기반 가상 서버

가상 서버에 고유한 URL 호스트를 지정하여 URL 호스트 기반 가상 서버를 설정할 수 있습니다. 호스트 요청 헤더의 내용을 보면 올바른 가상 서버를 알 수 있습니다.

예를 들어, 고객 (aaa, bbb 및 ccc)에 대한 가상 서버를 설정하여 각 고객이 개별 도메인 이름을 가질 수 있도록 하려면, 먼저 DNS를 구성하여 각 고객의 URL (www.aaa.com, www.bbb.com, www.ccc.com)이 사용 중인 HTTP Listener의 IP 주소를 인식하도록 해야 합니다. 그런 다음 각 가상 서버에 대한 URL 호스트를 정확하게 설정합니다(예: www.aaa.com). /etc/hosts 파일의 IP 주소에 호스트를 매핑해야 합니다.

HTTP Listener에 연결된 이러한 URL 호스트 기반 가상 서버의 수에는 제한이 없습니다.

URL 호스트 기반 가상 서버에서는 호스트 요청 헤더를 사용하여 사용자가 정확한 페이지를 찾을 수 있도록 하므로, 일부 클라이언트 소프트웨어는 이 서버에서 작동하지 않습니다. HTTP Host 헤더를 지원하지 않는 이전의 클라이언트 소프트웨어는 작동하지 않습니다. 이러한 클라이언트는 HTTP Listener에 대한 기본 가상 서버를 수신합니다.

기본 가상 서버

URL 호스트 기반 가상 서버는 호스트 요청 헤더를 사용하여 선택됩니다. 최종 사용자의 브라우저에서 Host 헤더를 전송하지 않거나 서버에서 지정된 Host 헤더를 찾을 수 없는 경우, HTTP Listener에 대한 기본 가상 서버에서 요청을 처리합니다.

또한 IP 주소 기반 가상 서버의 경우, Sun ONE Application Server에서 지정된 IP 주소를 찾을 수 없을 경우 HTTP Listener의 기본 가상 서버에서 요청을 처리합니다. 오류 메시지를 전달하거나 특정한 문서 루트에서 서버 페이지를 전송하도록 기본 가상 서버를 구성할 수 있습니다.



주

HTTP Listener의 기본 가상 서버와 서버를 설치할 때 만들어지는 기본 가상 서버를 서로 혼동하지 마십시오. 기본 가상 서버는 기본 응용 프로그램 서버 인스턴스에 대한 가상 서버입니다. HTTP Listener의 기본 가상 서버는 사용자가 기본값으로 지정한 가상 서버입니다.



HTTP Listener를 만들 때 기본 가상 서버를 지정합니다. 언제든지 기본 가상 서버를 바꿀 수 있습니다.

obj.conf 파일

기본적으로 각 가상 서버에는 가상 서버 설정을 저장하는 별도의 obj.conf 파일이 있습니다. 관리 인터페이스 또는 명령줄 인터페이스를 통해 설정을 변경하면, 이 변경 사항은 가상 서버의 obj.conf 파일을 포함하여 구성 파일에 자동으로 적용됩니다. 모든 obj.conf 파일은 instance_dir/config 디렉토리에 있습니다. 이 설명서에서 언급하는 "obj.conf 파일"은 모든 obj.conf 파일 또는 설명 중인 가상 서버의 obj.conf 파일을 가리킵니다.

접두어가 없는 obj.conf라는 이름의 파일은 Sun ONE Application Server에서 각 가상 서버에 대한 obj.conf 파일을 만드는 데 사용하는 템플리트입니다. 이 파일은 편집해도 기존의 가상 서버에 영향을 주지 않지만, 이후에 만들어지는 가상 서버에는 영향을 줍니다. obj.conf 파일을 직접 편집하는 방법에 대한 자세한 내용은 Sun ONE Application Server Administrator's Configuration File Reference를 참조하십시오.

기본적으로 각 활성 obj.conf 파일의 이름은 virtual_server_name-obj.conf입니다. 서버 인스턴스에 대한 기본 가상 서버는 인스턴스의 이름을 따서 이름이 지정되기 때문에 서버 인스턴스를 처음 만들 때 해당 obj.conf 파일의 이름은 instance_name-obj.conf가 됩니다. 이 파일 중 하나를 직접 편집하거나 관리 인터페이스를 통해 편집하면, 가상 서버의 구성이 변경됩니다.

요청 프로세스에 대한 가상 서버 선택

서버에서 요청을 처리하려면 HTTP Listener를 통해 요청을 수락한 다음, 올바른 가상 서버로 요청을 전송해야 합니다. 이 절에서는 가상 서버를 결정하는 방법에 대해 설명합니다.

  • HTTP Listener가 기본 가상 서버에 대해서만 구성되는 경우, 해당 가상 서버가 선택됩니다.
  • HTTP Listener에 둘 이상의 가상 서버가 구성되어 있는 경우, 요청 Host 헤더는 가상 서버의 hosts 속성과 일치합니다. Host 헤더가 없거나 hosts 속성이 일치하지 않은 경우, HTTP Listener의 기본 가상 서버가 선택됩니다.

SSL HTTP Listener에 가상 서버를 구성하는 경우 서버를 시작할 때 hosts 속성이 인증서의 주제 패턴과 일치하는지 검사합니다. 일치하지 않을 경우 경고가 발생되고 서버 로그에 기록됩니다.

가상 서버가 결정된 후 Sun ONE Application Server는 가상 서버의 obj.conf 파일을 실행합니다. 서버에서 obj.conf에서 실행할 지시문을 결정하는 방법에 대한 자세한 내용은 Sun ONE Application Server Administrator's Configuration File Reference를 참조하십시오.

문서 루트

문서 루트(기본 문서 디렉토리라고도 함)는 원격 클라이언트에서 사용 가능한 가상 서버의 모든 파일을 포함하는 중앙 디렉토리입니다.

문서 루트 디렉토리를 사용하면 가상 서버에서 파일에 대한 액세스를 간단한 방법으로 제한할 수 있습니다. 또한 URL에 지정된 경로가 기본 문서 디렉토리와 연관되어 있으므로, URL을 변경하지 않고 간편하게 문서를 다른 디스크의 새 디렉토리로 이동할 수도 있습니다.

예를 들어, 문서 디렉토리가 install_dir/docs인 경우 http://www.sun.com/products/info.html과 같은 요청은 install_dir/docs/info.html에서 파일을 찾으라고 서버에 지시합니다. 문서 루트를 변경하는 경우, 다시 말해 모든 파일과 하위 디렉토리를 이동시키는 경우, 모든 URL을 새 디렉토리에 매핑하거나 클라이언트에게 새 디렉토리에서 찾으라고 지시하는 대신에 가상 서버에서 사용하는 문서 루트를 변경하기만 하면 됩니다.

기본 Sun ONE Application Server 인스턴스(server1)에 대한 문서 루트는 server1 응용 프로그램 서버 인스턴스 내에서 만든 가상 서버의 문서 루트가 됩니다. 만든 각 가상 서버에 대한 해당 디렉토리를 무시할 수 있습니다.

가상 서버에서 Sun ONE Application Server 기능 사용

Sun ONE Application Server는 가상 서버에서 SSL 및 액세스 제어와 같은 많은 기능을 사용할 수 있습니다. 다음 여러 절에서는 기능에 대해 설명하고 기능에 대한 자세한 내용을 참조할 수 있는 위치에 대한 정보를 제공합니다.

이 절에서는 다음 항목에 대해 설명합니다.

가상 서버에서 SSL 사용

가상 서버에서 SSL를 사용하려면 일반적으로 IP 주소 기반 가상 서버를 사용합니다. 일반적인 포트는 443입니다. Sun ONE Application Server는 요청을 전송할 URL 호스트를 결정하기 전에 요청을 읽어야 하므로, URL 호스트 기반 가상 서버에서 SSL를 사용하기는 어렵습니다. 서버에서 요청을 읽은 경우 보안 정보가 교환되는 초기 핸드셰이크가 이미 발생한 상태입니다.

유일한 예외로는 URL 호스트 기반 가상 서버가 모두 "와일드 카드 인증서"를 사용하며, 동일한 서버 인증서를 포함한 동일한 SSL 구성을 가진 경우입니다. 자세한 내용은 Sun ONE Application Server Administrator's Guide to Security를 참조하십시오.

가상 서버에서 SSL를 구현하는 한 가지 방법은 두 개의 HTTP Listener를 구성하여 하나는 SSL를 사용하고 포트 443에서 수신하고 다른 하나는 SSL을 사용하지 않는 것입니다. 일반적으로 사용자는 비 SSL HTTP Listener를 통해 가상 서버에 액세스합니다. 보안 트랜잭션을 수행해야 하는 경우 사용자는 웹 페이지의 버튼을 눌러 보안 트랜잭션을 시작할 수 있습니다. 그러면 보안 HTTP Listener를 통해 요청을 수행할 수 있습니다.

SSL 트랜잭션은 비 SSL 트랜잭션보다 훨씬 느리기 때문에 이러한 설계는 SSL 트랜잭션이 필요한 경우에만 사용하는 것이 좋습니다. 그 밖의 경우에는 속도가 빠른 비 SSL 연결을 사용합니다.

가상 서버에서 Sun ONE Application Server를 통해 보안을 설정 및 사용하는 방법에 대한 자세한 내용은 Sun ONE Application Server Administrator's Guide to Security를 참조하십시오. 가상 서버에서의 샘플 SSL 구성에 대한 다이어그램은 "예 2: 보안 서버"를 참조하십시오.

액세스 로그 파일과 서버 로그 파일 사용

액세스 로그 파일은 가상 서버에 대한 HTTP 액세스가 기록되는 파일입니다. 가상 서버를 새로 만들면, 기본적으로 액세스 로그 파일은 응용 프로그램 서버 인스턴스와 동일한 로그 파일이 됩니다. 일반적으로 각 가상 서버에 고유한 로그 파일을 둘 수 있습니다. 이렇게 설정하려면 각 가상 서버에 대한 로그 경로를 변경할 수 있습니다. 모든 가상 서버 액세스를 동일한 액세스로그 파일에 기록하려면, 가상 서버 ID가 로그 파일에 포함되도록 서버 인스턴스에 대한 로깅 설정을 변경할 수 있습니다. 응용 프로그램 서버 인스턴스의 로깅 변경에 대한 자세한 내용은 "로깅 사용"을 참조하십시오.

서버 로그 파일은 정보 메시지와 오류가 기록되는 파일입니다. 가상 서버를 새로 만들면, 기본적으로 해당 로그 파일은 응용 프로그램 서버 인스턴스에 대한 로그 파일과 동일합니다. 각 가상 서버에 대한 로그 파일은 변경할 수 있습니다.

가상 서버에서 액세스 제어 사용

가상 서버별로 액세스 제어를 설정할 수 있습니다. 또한 각 가상 서버에서 LDAP 데이터베이스를 사용하여 사용자 및 그룹 인증을 할 수 있도록 액세스 제어를 구성할 수도 있습니다. 자세한 내용은 Sun ONE Application Server Administrator's Guide to Security를 참조하십시오.

가상 서버에서 CGI 사용

가상 서버에서 CGI를 사용할 수 있습니다. 각 가상 서버에서 CGI를 저장하는 디렉토리를 설정하고 CGI에 대한 파일 유형을 설정해야 합니다. CGI에 대한 자세한 내용은 Sun ONE Application Server Developer뭩 Guide to Web Applications를 참조하십시오.

HTTP Listener 만들기 및 구성

서버에서 요청을 처리하려면 HTTP Listener를 통해 요청을 수락한 다음 올바른 가상 서버에 요청을 전송해야 합니다. 서버 인스턴스가 생성될 때(설치 중 또는 설치 이후) 하나의 HTTP Listener (http-listener-1)가 자동으로 만들어집니다. 이 HTTP Listener는 IP주소 0.0.0.0과 응용 프로그램 서버 포트 번호로 지정한 포트 번호를 사용합니다. 기본 HTTP Listener는 삭제할 수 없습니다.

이 절에서는 다음 항목에 대해 설명합니다.

HTTP Listener 만들기

관리 인터페이스를 사용하여 HTTP Listener를 만들려면 다음 작업을 수행합니다.

  1. 왼쪽 창에서 응용 프로그램 서버 인스턴스에 대해 "HTTP 서버"를 엽니다.
  2. HTTP Listener를 누릅니다.
  3. "새로 만들기"를 누릅니다.
  4. 필드에 입력합니다.
  5. HTTP Listener의 포트 번호와 IP 주소의 조합은 고유해야 합니다. IPV4 또는 IPV6 주소를 사용할 수 있습니다. IP 주소 기반 가상 서버에 대한 HTTP Listener를 만들려면 HTTP Listener에 대해 특정한 IP 주소를 지정하십시오.

    "서버 이름 반환" 필드는 서버에서 클라이언트에 전송하는 URL의 호스트 이름을 지정합니다. 이는 서버에서 자동으로 생성하는 URL에 영향을 주지만, 서버에 저장된 디렉토리 및 파일의 URL에는 영향을 주지 않습니다. 서버에서 별칭을 사용하는 경우, 이 이름도 별칭이어야 합니다.

    기본 가상 서버는 다른 가상 서버가 먼저 발견되지 않는 경우 HTTP Listener에 대한 요청에 응답하는 가상 서버입니다. 자세한 내용은 "요청 프로세스에 대한 가상 서버 선택"을 참조하십시오.

    요청을 수락하려면 HTTP Listener를 활성화해야 합니다.

    또한 이 HTTP Listener에 대한 보안을 활성화하고 고급 등록 정보를 구성할 수 있습니다. IPV6를 지정하려면 "패밀리" 필드에서 값 inet6을 사용하십시오. 이 값이 inet6이면 IPv4 주소의 접두어는 서버 로그에서 ::ffff:가 됩니다.

  6. "확인"을 누릅니다.

HTTP Listener를 만들 때 "기본 가상 서버" 필드에 기존 가상 서버를 입력해야 합니다. 서버 인스턴스를 통해 만든 가상 서버를 사용할 수 있습니다. 그런 다음 필요한 경우 추가 가상 서버를 만든 후 되돌아가서 가상 서버를 변경할 수 있습니다.

명령줄 인터페이스를 사용하여 HTTP Listener를 만들려면 asadmin 유틸리티의 create-http-listener 명령을 사용합니다. 만든 모든 HTTP Listener의 목록을 작성하려면 list-http-listeners 명령을 사용합니다.

HTTP Listener를 만들려면, 다음 구문을 사용합니다.

asadmin create-http-listener --user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] --address address [--instance instancename] --listenerport listener_port --defaultvs virtual_server --servername server_name [--family family] [--acceptorthreads acceptor_threads] [--blockingenabled blocking_enabled] [--securityenabled security_enabled] [--enabled enabled] listener_id

명령 구문에 대한 자세한 내용은 명령줄 인터페이스 도움말을 참조하십시오. asadmin 사용에 대한 자세한 내용은 "명령줄 인터페이스 사용"을 참조하십시오.

HTTP Listener 설정 편집

관리 인터페이스를 사용하여 HTTP Listener 설정을 편집하려면 다음 작업을 수행합니다.

  1. 왼쪽 창에서 응용 프로그램 서버 인스턴스에 대해 "HTTP 서버"를 엽니다.
  2. "HTTP Listeners"를 엽니다.
  3. 편집할 HTTP Listener를 누릅니다.
  4. 원하는 대로 변경하고 "저장"을 누릅니다.

자세한 내용은 온라인 도움말을 참조하십시오.

또한 명령줄 인터페이스에서 asadmin 유틸리티를 사용하여 HTTP Listener를 편집할 수 있습니다. get 명령을 사용하여 현재 설정을 가져와서 set 명령을 사용하여 현재 설정에 새 값을 지정하십시오.

HTTP Listener의 모든 속성값을 표시하려면 다음 작업을 수행합니다.

asadmin> get server_instance.http-listener.http_listener_name.*

예를 들어, 기본 HTTP Listener에 대한 값을 가져오려면 다음 작업을 수행합니다.

asadmin> get server1.http-listener.http-listener-1.*

속성값을 설정하려면 다음 작업을 수행합니다.

asadmin> set server_instance.http-listener.http_listener_name.attribute_name=value

예를 들어, defaultVirtualServer 속성을 http-listener-1에 대한 server2에 설정하려면 다음 작업을 수행합니다.

asadmin> set server1.http-listener.http-listener-1.defaultVirtualServer=server2

명령 구문에 대한 자세한 내용은 명령줄 인터페이스 도움말을 참조하십시오. asadmin 사용에 대한 자세한 내용은 "명령줄 인터페이스 사용"을 참조하십시오.

HTTP Listener 삭제

관리 인터페이스를 사용하여 HTTP를 삭제하려면 다음 작업을 수행합니다.

  1. 왼쪽 창에서 응용 프로그램 서버 인스턴스에 대해 "HTTP 서버"를 엽니다.
  2. "HTTP Listeners"를 누릅니다..
  3. 삭제하려는 HTTP Listener의 옆에 있는 확인란을 누릅니다.
  4. "삭제"를 누릅니다.

명령줄 인터페이스를 사용하여 HTTP Listener를 삭제하려면 asadmin 유틸리티의 delete-http-listener 명령을 사용합니다. 이 때 사용되는 구문은 다음과 같습니다.

asadmin delete-http-listener ---user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] --instance instance httplistener_id

명령 구문에 대한 자세한 내용은 명령줄 인터페이스 도움말을 참조하십시오. asadmin 사용에 대한 자세한 내용은 "명령줄 인터페이스 사용"을 참조하십시오.

가상 서버 만들기 및 구성

HTTP Listener를 설정하고 나면 가상 서버를 만들어 사용할 수 있습니다.

이 절에서는 다음 항목에 대해 설명합니다.

가상 서버 만들기

관리 인터페이스를 사용하여 가상 서버를 만들려면 다음 작업을 수행합니다.

  1. 왼쪽 창에서 응용 프로그램 서버 인스턴스에 대해 "HTTP 서버"를 엽니다.
  2. "가상 서버"를 누릅니다.
  3. "새로 만들기"를 누릅니다.
  4. 필수 필드와 선택 필드에 입력합니다.
  5. "저장"을 누릅니다.

명령줄 인터페이스를 사용하여 가상 서버를 만들려면 asadmin 유틸리티의 create-virtual-server 명령을 사용합니다. 이 때 사용되는 구문은 다음과 같습니다.

asadmin create-virtual-server --user username ---user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] [--instance instancename] --hosts hosts --mime mime_types_file [--httplisteners http-listeners] [--defaultwebmodule default_web_module] [--configfile config_file] [--defaultobj default_object] [--state state] [--acls acls] [--acceptlang accept_language] [--logfile logfile] [--property (name=value)[:name=value]*] virtual_server_id

명령 구문에 대한 자세한 내용은 명령줄 인터페이스 도움말을 참조하십시오. asadmin 사용에 대한 자세한 내용은 "명령줄 인터페이스 사용"을 참조하십시오.

가상 서버를 만들 때 다음 유형의 설정을 입력할 수 있습니다.

필수 설정

가상 서버의 필수 설정에는 이름(ID)과 URL 호스트가 포함됩니다.

또한 MIME 유형 파일을 지정해야 합니다. MIME 유형 파일의 경우 파일 유형에 파일 확장자를 매핑해야 됩니다. 예를 들어, MIME 유형 파일의 경우 .cgi로 끝나는 모든 파일은 CGI 파일로 처리되도록 지정할 수 있습니다.

각 가상 서버에 개별 MIME 유형 파일을 만들 필요는 없습니다. 그 대신 MIME 유형 파일을 필요한 수만큼 만들어 가상 서버와 연결합니다. 기본 MIME 유형 파일은 mime1이며, 파일 이름은 mime.types입니다.

MIME 유형 파일에 대한 자세한 내용은 "MIME 유형 구성"을 참조하십시오.

선택적 일반 설정

필수 필드뿐만 아니라 선택 필드도 설정할 수 있습니다.

HTTP Listener

HTTP Listener는 가상 서버에 대한 연결을 처리합니다. 원격 클라이언트에서 가상 서버에 액세스할 수 있도록 HTTP Listener 하나를 지정해야 합니다.

ACL

가상 서버에 적용된 액세스 제어 목록 (ACL)입니다. 자세한 내용은 Sun ONE Application Server Administrator's Guide to Security를 참조하십시오.

사용 가능한 언어 헤더

클라이언트에서 HTTP 1.1을 사용하여 서버에 연결하면 클라이언트에서 사용 가능한 언어를 설명하는 헤더 정보를 전송할 수 있습니다. 또한 이 언어 정보를 구문 분석할 수 있도록 서버를 구성할 수 있습니다.

예를 들어, 일본어와 영어로 작성한 문서를 저장하는 경우 사용 가능한 언어 헤더를 구문 분석하도록 선택할 수 있습니다. 사용 가능한 언어 헤더가 일본어인 클라이언트에서 서버에 연결하면 해당 페이지의 일본어 버전이 표시됩니다. 사용 가능한 언어 헤더가 영어인 클라이언트에서 서버에 연결하면 영어 버전이 표시됩니다.

여러 언어를 지원하지 않는 경우에는 사용 가능한 언어 헤더를 구문 분석해서는 안 됩니다.

상태

이 상태는 가상 서버의 상태를 말하며, 응용 프로그램 인스턴스의 설정 또는 해제와는 상관이 없습니다. 이 페이지에 표시된 가상 서버의 상태가 설정이면, 응용 프로그램 서버 인스턴스가 설정인 경우에만 가상 서버에서 요청을 수락합니다.

이는 기본 응용 프로그램 서버 인스턴스에 대한 기본 가상 서버의 경우에도 마찬가지입니다. 따라서 응용 프로그램 인스턴스를 비활성화하면 기본 가상 서버가 설정 상태이더라도 연결을 수락하지 않습니다.

유효한 상태로는 설정, 해제 또는 사용 불가능이 있습니다. 가상 서버가 설정 상태이면 연결을 수락할 수 있습니다.

응용 프로그램 서버 인스턴스에 대한 기본 가상 서버는 해제 또는 사용 불가능 상태로 설정할 수 없습니다.

로그 파일

로그 파일(서버 로그 파일이라고도 함)은 정보 메시지와 오류가 기록되는 파일입니다. 액세스 로그 파일은 가상 서버에 대한 HTTP 액세스가 기록되는 파일입니다.

문서 루트

문서 루트(기본 문서 디렉토리라고도 함)는 원격 클라이언트에서 사용 가능한 가상 서버의 모든 파일을 포함하는 중앙 디렉토리입니다. 자세한 내용은 "문서 루트"를 참조하십시오.

웹 응용 프로그램 설정

웹 응용 프로그램은 서블릿, JavaServer 페이지, HTML 문서 및 기타 웹 자원(이미지 파일, 압축 아카이브 및 기타 데이터 포함)의 모음입니다. 웹 응용 프로그램은 아카이브(WAR 파일)에 패키지화하거나 열린 디렉토리 구조에 있을 수 있습니다.

Sun ONE Application Server 7은 Servlet 2.3 API 사양을 지원하므로 서블릿과 JSP가 웹 응응 프로그램에 포함될 수 있습니다. 또한 Sun ONE Application Server 7은 비 J2EE 응용 프로그램 구성 요소인 SHTML과 CGI를 지원합니다.

가상 서버를 만들 때는 가상 서버에 대한 기본 웹 모듈을 지정합니다. 기본 웹 모듈은 가상 서버에 배포되는 다른 웹 모듈에서 확인할 수 없는 모든 요청에 응답합니다. 기본 웹 모듈을 지정하지 않으면 컨텍스트 루트가 비어 있는 웹 모듈이 사용됩니다. 컨텍스트 루트가 비어 있는 웹 모듈이 없을 때는 시스템 기본 웹 모듈이 생성되어 사용됩니다.

웹 응용 프로그램을 배포할 때는 가상 서버를 지정합니다. 웹 응용 프로그램을 배포하면 가상 서버에 대한 기본 웹 모듈로 선택할 수 있도록 사용 가능한 웹 모듈 목록에 웹 응용 프로그램이 나타납니다. 가상 서버에 대한 기본 웹 모듈로서 웹 모듈을 지정하는 경우, 해당 가상 서버는 자동으로 가상 서버의 웹 응용 프로그램 목록에 추가됩니다.

CGI 설정

가상 서버를 만들 때 설정하는 CGI 설정은 CGI 프로그램을 실행하는 사용자 및 그룹을 제어하며 CGI가 실행되기 전 변경할 디렉토리(chroot) 및 chroot 다음에 변경할 디렉토리를 제어합니다.

UNIX의 경우, 서버와 관련해 CGI 프로그램의 우선 순위를 결정하는 증분값인 우선 순위(nice)를 설정할 수 있습니다. 일반적으로 서버는 우선 순위 값 0으로 실행되며, 우선 순위(nice) 증분값은 0 (CGI 프로그램이 실행되는 우선 순위가 서버와 같음)과 19 (CGI 프로그램이 실행되는 우선 순위가 서버보다 훨씬 낮음) 사이입니다.

HTTP 서비스 품질(QOS) 설정

서비스 품질(QOS)은 가상 서버에 설정한 성능 제한을 말합니다. 예를 들어, ISP는 허용되는 대역폭의 범위에 따라 가상 서버에 대한 요금을 서로 다르게 부과할 수 있습니다. 지정된 대역폭과 최대 연결 수만 허용되도록 이 설정을 적용되거나 적용하지 않을 수 있습니다. 설정을 적용하지 않으면 메시지는 제한이 초과될 때 로그 파일에 기록됩니다. 자세한 내용은 "CLI를 사용한 트랜잭션 서비스 관리"를 참조하십시오.

관리 인터페이스를 통해 이 설정을 바꿀 수 있을 뿐만 아니라 명령줄 인터페이스의 asadmin 유틸리티를 사용할 수도 있습니다. 명령줄 인터페이스의 asadmin 유틸리티를 사용하여 서비스 품질(QOS)을 구성하려면 다음 명령을 사용합니다.

  • create-http-qos
  • delete-http-qos

이 명령은 다음 구문을 사용합니다:

asadmin create-http-qos --user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] [--virtualserver virtual_server_id] [--bwlimit bandwidth_limit] [--enforcebwlimit enforce_bandwidth_limit] [--connlimit connection_limit] [--enforceconnlimit enforce_connection_limit] instance_name

asadmin delete-http-qos --user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] [--virtualserver virtual_server_id] instance_name

가상 서버를 지정하는 경우, 이 명령은 해당 가상 서버에 대한 서비스 품질(QOS) 정보를 만들거나 삭제합니다. 가상 서버를 지정하지 않으면 이 명령은 서버 인스턴스에 영향을 줍니다.

명령 구문에 대한 자세한 내용은 명령줄 인터페이스 도움말을 참조하십시오. asadmin 사용에 대한 자세한 내용은 "명령줄 인터페이스 사용"을 참조하십시오.

가상 서버 설정 편집

가상 서버를 설정하고 나면 편집이 가능합니다. 가상 서버 설정 편집에 대한 자세한 내용은 다음을 참조하십시오.

관리 인터페이스를 사용하여 일반 설정 편집

가상 서버의 일반 설정은 가상 서버를 만들 때 설정할 수 있습니다. 이 설정을 변경하려면 다음 단계를 수행합니다.

  1. 왼쪽 창에서 응용 프로그램 서버 인스턴스에 대해 "HTTP 서버"를 엽니다.
  2. "가상 서버"를 엽니다.
  3. 편집할 "가상 서버"를 누릅니다.
  4. 원하는 대로 변경합니다.
  5. 변경할 수 있는 영역으로는 서비스 품질(QOS) 설정, ACL 추가, 문서 루트 및 사용 가능한 언어 헤더와 같은 내용 관련 설정, 사용자, 그룹, 우선 순위(nice) 및 chroot 설정과 같은 CGI 설정, 기본 웹 모듈 등이 있습니다.

  6. "저장"을 누릅니다.

이 설정 중 일부에 대한 자세한 내용은 "가상 서버 만들기 및 구성"을 참조하십시오. 또한 온라인 도움말도 참조하십시오.

명령줄 인터페이스를 사용하여 일반 설정 편집

명령줄 인터페이스에서 asadmin 유틸리티를 사용하여 이 설정을 편집할 수도 있습니다. get 명령을 사용하여 현재 설정을 표시하고 set 명령을 사용하여 현재 설정에 새 값을 설정하십시오.

가상 서버의 모든 속성을 표시하려면 다음 구문을 사용합니다.

asadmin> get instance_name.virtual-server.vserver_id.*

예를 들면 다음과 같습니다.

asadmin> get server1.virtual-server.vs1.*

응용 프로그램 서버 인스턴스 server1에 대한 모든 속성을 표시하려면 다음 구문을 사용합니다.

asadmin> get server1.virtual-server.server1.*

예를 들어, 사용 가능한 언어 헤더 속성을 설정하려면 다음 구문을 사용합니다.

asadmin> set server1.virtual-server.server1.virtualserver.acceptLanguage=false



주

명령줄 인터페이스를 사용하여 "일반" 페이지에 있는 모든 필드 값을 설정할 수 있습니다. 그러나 다른 탭의 페이지, 예를 들어 "CGI" 탭 페이지의 필드 값을 설정하기 위해 명령줄 인터페이스를 사용할 수는 없습니다.



명령 구문에 대한 자세한 내용은 명령줄 인터페이스 도움말을 참조하십시오. asadmin 사용에 대한 자세한 내용은 "명령줄 인터페이스 사용"을 참조하십시오.

CGI 설정 편집

CGI 편집에 대한 자세한 내용은 Sun ONE Application Server Developers Guide to Web Applications를 참조하십시오.

문서 처리 설정, 문서 디렉토리 설정 및 HTTP/HTML 설정 편집

이러한 설정 변경에 대한 자세한 내용은 "가상 서버 내용 관리"를 참조하십시오.

가상 서버 삭제

가상 서버를 삭제하려면 다음 작업을 수행합니다.

  1. 관리 인터페이스의 왼쪽 창에서 응용 프로그램 서버 인스턴스에 대해 "HTTP 서버"를 엽니다.
  2. "가상 서버"를 누릅니다.
  3. 삭제할 가상 서버 옆에 있는 확인란을 누릅니다.
  4. "삭제"를 누릅니다.
  5. 관리 인터페이스를 사용하여 일부 가상 서버를 삭제할 수 없습니다.

명령줄 인터페이스를 사용하여 가상 서버를 삭제하려면 asadmin 유틸리티의 delete-virtual-server 명령을 사용합니다.

사용법은 다음과 같습니다.

asadmin delete-virtual-server --user username [--password password] [--host hostname] [--port adminport] [--secure | -s] [--passwordfile file_name] --instance instance virtualserver_id

명령 구문에 대한 자세한 내용은 명령줄 인터페이스 도움말을 참조하십시오. asadmin에 대한 자세한 내용은 "명령줄 인터페이스 사용"을 참조하십시오.

가상 서버 배포

Sun ONE Application Server의 가상 서버 구조는 매우 유연합니다. 응용 프로그램 인스턴스의 보안 또는 비보안 HTTP Listener의 수에는 제한이 없습니다. 이러한 HTTP Listener에 연결할 수 있는 가상 서버의 수에는 제한이 없습니다. 또한 IP 주소 기반 및 URL 호스트 기반 가상 서버를 모두 가질 수 있습니다.

모든 가상 서버는 고유한 ACL 목록, mime.types 파일 및 고유한 Java 웹 응용 프로그램 집합을 가질 수 있으나 반드시 가질 필요는 없습니다.

이러한 설계로 인해 사용자는 다양한 응용 프로그램에 대해 서버를 구성할 수 있는 최대한의 유연성을 가질 수 있습니다. 다음은 Sun ONE Application Server에 사용 가능한 구성의 일부 예입니다.

예 1: 기본 구성

기본 구성에는 응용 프로그램 서버 인스턴스가 하나 있습니다. 이 응용 프로그램 서버 인스턴스에는 포트 80, 1024 또는 컴퓨터에 구성된 IP 주소에서 사용자가 선택한 포트를 수신하는 HTTP Listener가 하나만 있습니다.

로컬 네트워크의 일부 메커니즘에서는 컴퓨터에 구성된 각 주소에 대해 이름과 주소가 매핑합니다. 다음 예에서 컴퓨터는 두 개의 네트워크 인터페이스를 갖습니다. 하나는 주소 127.0.0.1의 루프백 인터페이스(네트워크 카드가 없어도 존재하는 인터페이스)이고 다른 하나는 주소 10.0.0.1의 이더넷 인터페이스입니다.

example.com이 DNS를 통해 10.0.0.1에 매핑합니다. HTTP Listener는 해당 시스템에 구성된 한 주소의 포트 80에서 수신하도록 구성됩니다("0.0.0.0:80").

기본 구성에 IP 주소 기반 가상 서버가 없으므로 HTTP Listener만이 기본 구성입니다. 모든 연결은 가상 서버 server1을 통합니다.

   기본 구성
이 그림은 응용 프로그램 서버 인스턴스의 기본 가상 서버 구성을 보여줍니다. 하나의 HTTP Listener와 하나의 가상 서버만 있습니다.

이 구성에서 가상 서버 VS1에 의해 다음 항목과 서버가 연결됩니다.

  • http://127.0.0.1/ (example.com에서 시작)
  • http://localhost/ (example.com에서 시작)
  • http://example.com/
  • http://10.0.0.1/

전통적인 HTTP 서버 사용 시 이 구성을 사용합니다. 추가 가상 서버나 HTTP Listener가 필요 없습니다. server1에 대한 설정을 변경하여 서버 설정을 구성하십시오.

예 2: 보안 서버

기본 구성에 SSL을 사용하려면 HTTP Listener를 보안 모드로 간단히 변경하면 됩니다.

또한 0.0.0.0:443으로 구성된 새 보안 HTTP Listener를 추가하고 server1을 새 HTTP Listener에 연결할 수도 있습니다. 이제 가상 서버에서는 HTTP Listener를 갖게 되는데, 하나는 보안 HTTP Listener를 사용하며 다른 하나는 그렇지 않습니다. 이제 서버에서는 SSL이 있거나 없는 상태로 동일한 내용을 제공합니다. 즉, http://example.com/과 https://example.com/은 동일한 내용을 제공합니다.

   보안 서버
이 그림은 두 개의 HTTP Listener (보안 HTTP Listener와 비보안 HTTP Listener 각각 한 개씩)와 한 개의 가상 서버를 사용하는 서버 인스턴스에 대한 보안 서버 구성을 보여줍니다.

HTTP Listener에는 SSL 매개 변수가 설정되어 있습니다.

예 3: 인트라넷 호스팅

Sun ONE Application Server의 좀 더 복잡한 구성은 인트라넷 배포를 위해 서버에서 여러 가상 서버를 호스트하는 것입니다. 예를 들어, 직원이 다른 사용자의 전화 번호를 찾을 수 있으며, 캠퍼스의 지도를 볼 수 있고 정보 서비스 부서에 요청한 일의 처리 상태를 추적할 수 있는 세 가지 내부 사이트가 있습니다. 이 예에서 이전에는 phone.example.com, maps.example.com 및 is.example.com이라는 이름이 매핑되는 세 개의 컴퓨터에서 이 세 사이트를 호스트했습니다.

그러나 하드웨어 및 관리 오버헤드를 최소화하기 위해 이 세 사이트를 machine example.com에서 하나의 응용 프로그램 서버로 통합할 수 있습니다. 이 때 URL 호스트 기반 가상 서버 또는 IP 주소 기반 가상 서버를 사용하여 이를 설정할 수 있습니다. 이 두 방법에는 각각 장단점이 있습니다.

   URL 호스트 기반 가상 서버를 사용하여 인트라넷 호스팅
이 그림은 URL 호스트 기반 가상 서버를 보여줍니다.

URL 호스트 기반 가상 서버는 쉽게 설정할 수 있지만 다음과 같은 단점이 있습니다.

  • 이 구성에서 SSL을 지원하려면, 와일드카드 인증서를 사용하는 비표준 설정이 필요합니다. 자세한 내용은 Sun ONE Application Server Administrator's Guide to Security를 참조하십시오.
  • URL 호스트 기반 가상 서버는 레거시 HTTP 클라이언트와 함께 작동하지 않습니다.

IP 주소 기반 가상 서버는 다음과 같은 장점이 있습니다.

  • HTTP/1.1 Host 헤더를 지원하지 않는 이전 클라이언트와 함께 작동합니다.
  • SSL 지원이 간편합니다.

단점은 다음과 같습니다.

  • 호스트 컴퓨터에서 구성 변경이 필요합니다(실제 또는 가상 서버 인터페이스의 구성).
  • 수천 개의 가상 서버에서 구성을 조절할 수 없습니다.

두 가지 구성 방법 모두 세 이름에 대해 이름과 주소가 매핑하도록 설정해야 합니다. IP 주소 기반 구성에서 각 이름은 서로 다른 주소에 매핑됩니다. 이러한 모든 주소에서 연결을 수신하도록 호스트 시스템을 설정해야 합니다. URL 호스트 기반 구성에서 모든 이름은 같은 주소 즉, 원래 시스템에 지정된 주소로 매핑됩니다.

   IP 주소 기반 가상 서버를 사용하여 인트라넷 호스팅
이 그림은 IP 주소 기반 가상 서버를 보여줍니다.

예 4: 다중 호스팅

다중 호스팅은 트래픽이 적은 수많은 가상 서버를 활성화하는 구성입니다. 트래픽이 적은 수많은 개인 홈 페이지를 호스트하는 ISP를 예로 들 수 있습니다. 일반적으로 가상 서버는 URL 호스트 기반입니다.

   다중 호스팅
이 그림은 한 개의 HTTP Listener와 여러 URL 호스트 기반 가상 서버를 사용하는 다중 호스트를 보여줍니다.

기본 가상 서버인 server1은 계속 유지됩니다.


이전      목차      색인      다음     
Copyright 2003 Sun Microsystems, Inc. 모든 권리는 저작권자의 소유입니다.