모듈 mod_vhost_alias : 다이나믹 가상 호스트 지원
등록일:2007-05-14 02:23:31 |
- 번역 : 김칠봉 <san2@linuxchannel.net>
- 작성일 : 2000.12.29
- 이 자료는 김칠봉님의 자료 제공에 의하여 Apache.Kr.net 에 게시되었습니다.
이 모듈은 다이나믹하게 설정한 대형 가상 호스팅을 지원한다.
Status: Extension
Source File: mod_vhost_alias.c
Module Identifier: vhost_alias_module
Compatibility: Apache 1.3.7 버전과 그 이후의 버전
개요
이 모듈은 다이나믹하게 설정된 가상 호스트를 지원(생성)한다. 즉, 이 가상 호스트는 IP 주소와 호스트 이름에 의해서 구성되어지며, 이 호스트 이름에는 HTTP 요청 헤더를 사용하고, 요청 헤더(가상호스트)는 서비스할 파일 경로의 각 부분들을 이용한다. 이는 비슷한 구성을 가진 아주 거대한 가상 호스트를 사용하는데 용이하다.*역주)
참고 - mod_vhost_alias 모듈의 추가 여부(아파치 1.3.14 기준)
1. 아무런 옵션없이 컴파일하여 설치할 경우 : X
2. --enable-oodule=all 옵션 추가시 : O
3. --enable-module=all --enable-shared=max : DSO 모듈로 사용가능
4. --enable-module=all --enable-shared=remain : DSO 모듈로 사용가능
5. --enable-shared=remain : DSO 모듈로 사용가능
6. --enable-shared=max : X
지시자
관련 지시자: UseCanonicalName디렉토리 이름 재구성*
이 모듈에서 사용하는 모든 지시자는 특정 문자열을 경로(pathname)로 다시 만든다. 삽입된 특정 문자열(이하 "이름")은 서버 이름(어떻게 이름이 구성되는지 UseCanonicalName지시자를 참고)이거나 점(.)이 들어간 가상 호스트 형식의 IP 주소이다. 디렉토리를 구성할 각각의 개체는 다음과 같다.*역주)
원제목은 "Directory Name Interpolation"임.
- %%
- % 추가
- %p
- 가상 호스트의 포트 번호 추가
- %N.M
- 호스트 이름의 각 부분 추가
- ?
- 0
- 전체 호스트 이름(FQDN : Fully Qualified Domain Name)
- 1
- 첫번째 부분
- 2
- 두번째 부분
- -1
- 마지막 부분
- -2
- 마지막에서 두번째 부분
- 2+
- 두번째 부분과 나머지 뒷부분
- -2+
- 마지막에서 두번째 부분과 그 앞부분의 모두
- 1+ 과 -1+
- 0과 동일(전체 호스트 이름)
보기
간단한 이름 기반 가상호스트 설정은 다음과 같다.- UseCanonicalName Off
- VirtualDocumentRoot /usr/local/apache/vhosts/%0
- UseCanonicalName Off
- VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2
- VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2
- VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+
다음은 IP 기반 가상 호스트 설정의 예이다.
- UseCanonicalName DNS
- VirtualDocumentRootIP /usr/local/apache/vhosts/%1/%2/%3/%4/docs
- VirtualScriptAliasIP /usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin
VirtualDocumentRoot 지시자에서 점(.) 문자를 포함하고 싶다면 이는 % 와 충돌한다. 다음과 같은 방법으로 해결할 수 있다.
- VirtualDocumentRoot /usr/local/apache/vhosts/%2.0.%3.0
이 븟듈에서 LogFormat 지시자로 %V와 %A 를 조합해서 유용하게 사용할 수 있다.
*역주)
LogFormat 스트링 :
%v : 클라이언트 요청에 따른 서버의 canonical 서버네임
%V : UserCannonicalName 지시자 설정에 따른 서버네임
%a : 원격의 IP 주소
%A : 로컬 시스템의 IP 주소
VirtualDocumentRoot
Syntax: VirtualDocumentRoot interpolated-directoryDefault: None
Context: server config, virtual host
Status: Extension
Module: mod_vhost_alias
Compatibility: Apache 1.3.7 버전과 그 이후의 버전
이 지시자는 아파치가 서버 네임을 통해서 문서의 기본이 되는 위치를 찾기 위해서 사용한다. interpolated-directory는 DocumentRoot 지지자 구문과 같은 비슷한 방법으로 문서 구조상 root로 사용한다. 만약 interpolated-directory 설정이 없다면 VirtaulDocumentRoot 지시자는 Off 된 것과 같다. 이 지시자는 VirtualDocumentRootIP 지시자 구문과 같은 방법으로 사용되지 않는다.
VirtualDocumentRootIP
Syntax: VirtualDocumentRootIP interpolated-directoryDefault: None
Context: server config, virtual host
Status: Extension
Module: mod_vhost_alias
Compatibility: Apache 1.3.7 버전과 그 이후의 버전
이 지시자는 서버네임으로 연결하는 방법 대신 IP 주소로 연결하는 것 외에는 VirtualDocumentRoot 지시자 사용방법과 비슷하다.
VirtualScriptAlias
Syntax: VirtualScriptAlias interpolated-directoryDefault: None
Context: server config, virtual host
Status: Extension
Module: mod_vhost_alias
Compatibility: Apache 1.3.7 버전과 그 이후의 버전
이 지시자는 아파치가 CGI 스크립트가 어디에 있는지 찾기 위해서 사용된다. 사용방법은 VirtualDocumentRoot 지시자 사용방법과 비슷하다. URL이 /cgi-bin/과 같이 시작되는 요청은 ScriptAlias로 /cgi-bin/과 같이 설정하는 방법과 비슷하다.
VirtualScriptAliasIP
Syntax: VirtualScriptAliasIP interpolated-directoryDefault: None
Context: server config, virtual host
Status: Extension
Module: mod_vhost_alias
Compatibility: Apache 1.3.7 버전과 그 이후의 버전
이 지시자는 서버및임으로 연결하는 방법 대신 IP 주소로 연결하는 것 외에는 VirtualScriptAlias 지시자 사용바법과 비슷하다.
| [아파치 문서 기고 안내] |
작성하신 문서를 지금 아파치 사용자 커뮤니티와 공유해 주십시오. 공유하시는 글들은 여러분들의 이름으로 이곳에 등록되어 많은 분들이 도움을 받을 수 있습니다. 또한 계획중이신 글이 있으신가요? 계획중이신 글을 저희에게 알려주시거나 또는 공동작업할 수 있도록 도움을 드리도록 하겠습니다. 혹시 글이 내용이 작거나 부족하다고 생각하시나요? 정보는 공유할 수록 그 의미가 커집니다. 부족한 부분은 저희 아파치 커뮤니티 사용자들분과 채워가실 수 있습니다. 여러분들의 참여를 기다리겠습니다. 문서 기고 및 문의 사항은 submit (at) apache-kr.org 으로 해주세요. 추후 온라인에서 직접 문서를 등록하실 수 있도록 작업할 예정입니다. |
