모듈 mod_vhost_alias : 다이나믹 가상 호스트 지원

등록일:2007-05-14 02:23:31
by 김칠봉

Module mod_vhost_alias

- 번역 : 김칠봉 <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
호스트 이름의 각  부분 추가
NM은 호스트 이름의 각 부분들을 기술하는데 사용된다. 즉 N은 호스트 이름에서 각 점(.)으로 분리된 N 번째 부분을 뜻하며 MN에서 M 번째 부분에 속하는 문자를 의미한다. M은 옵션사항이며 M 값이 주어지지 않는다면 기본값은 zero(0)이다. 디렉토리 이름에 사용할 삽입어구는 다음과 같다.
?
0
전체 호스트 이름(FQDN : Fully Qualified Domain Name)
1
첫번째 부분
2
두번째 부분
-1
마지막 부분
-2
마지막에서 두번째 부분
2+
두번째 부분과 나머지 뒷부분
-2+
마지막에서 두번째 부분과 그 앞부분의 모두
1+-1+
0과 동일(전체 호스트 이름)
만약 N이나 M이 사용가능한 부분의 숫자보다 더 크다면 하나의 밑줄(_)로 디렉토리를 재구성한다.

보기

간단한 이름 기반 가상호스트 설정은 다음과 같다.
UseCanonicalName        Off
VirtualDocumentRoot     /usr/local/apache/vhosts/%0
http://www.example.com/directory/file.html 요청은 /usr/local/apache/vhosts/www.example.com/directory/file.html파일로 매치된다. 이 예는 많은 가상호스트를 지원하기 위해서 가상호스트의 디렉토리 수를 줄여서 파일을 정돈하는 좋은 아이디어이다. 이 방법을 다음과 같이 설정할 수 있다.
UseCanonicalName        Off
VirtualDocumentRoot     /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2
http://www.example.isp.com/directory/file.html 요청은 /usr/local/apache/vhosts/isp.com/e/x/a/example/directory/file.html 파일로 매치된다. 다음의 예는 이름의 끝 부분을 더 쪼개어 좀더 파일을 확산시킨 예이다.
VirtualDocumentRoot     /usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2
이는 /usr/local/apache/vhosts/isp.com/e/l/p/example/directory/file.html 이와 같은 파일 요청이 될 것이다. 관련된 사용 예 :
VirtualDocumentRoot     /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+
/usr/local/apache/vhosts/isp.com/e/x/a/mple/directory/file.html 이와 같은 파일 요청 될 것이다.

다음은 IP 기반 가상 호스트 설정의 예이다.

UseCanonicalName DNS
VirtualDocumentRootIP   /usr/local/apache/vhosts/%1/%2/%3/%4/docs
VirtualScriptAliasIP    /usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin
만약 www.example.com의 IP 주소가 10.20.30.40와 같다면 http://www.example.isp.com/directory/file.html 파일 요청은 /usr/local/apache/vhosts/10/20/30/40/docs/directory/file.html 파일과 패치된다. 또한 CGI 스크립트 요청이 http://www.example.isp.com/cgi-bin/script.pl 이와 같다면 이것은 /usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl 파일과 매치된다.

VirtualDocumentRoot 지시자에서 점(.) 문자를 포함하고 싶다면 이는 % 와 충돌한다. 다음과 같은 방법으로 해결할 수 있다.

VirtualDocumentRoot     /usr/local/apache/vhosts/%2.0.%3.0
http://www.example.isp.com/directory/file.html 파일 요청은 /usr/local/apache/vhosts/example.isp/directory/file.html 파일과 매치된다.

이 븟듈에서 LogFormat 지시자로  %V%A 를 조합해서 유용하게 사용할 수 있다.

*역주)
LogFormat 스트링 :
%v : 클라이언트 요청에 따른 서버의 canonical 서버네임
%V : UserCannonicalName 지시자 설정에 따른 서버네임
%a : 원격의 IP 주소
%A : 로컬 시스템의 IP 주소


VirtualDocumentRoot

Syntax: VirtualDocumentRoot interpolated-directory
Default: None
Context: server config, virtual host
Status: Extension
Module: mod_vhost_alias
Compatibility: Apache 1.3.7 버전과 그 이후의 버전

이 지시자는 아파치가 서버 네임을 통해서 문서의 기본이 되는 위치를 찾기 위해서 사용한다. interpolated-directoryDocumentRoot 지지자 구문과 같은 비슷한 방법으로 문서 구조상 root로 사용한다. 만약 interpolated-directory 설정이 없다면 VirtaulDocumentRoot 지시자는 Off 된 것과 같다. 이 지시자는 VirtualDocumentRootIP 지시자 구문과 같은 방법으로 사용되지 않는다.


VirtualDocumentRootIP

Syntax: VirtualDocumentRootIP interpolated-directory
Default: None
Context: server config, virtual host
Status: Extension
Module: mod_vhost_alias
Compatibility: Apache 1.3.7 버전과 그 이후의 버전

이 지시자는 서버네임으로 연결하는 방법 대신 IP 주소로 연결하는 것 외에는 VirtualDocumentRoot 지시자 사용방법과 비슷하다.


VirtualScriptAlias

Syntax: VirtualScriptAlias interpolated-directory
Default: 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-directory
Default: None
Context: server config, virtual host
Status: Extension
Module: mod_vhost_alias
Compatibility: Apache 1.3.7 버전과 그 이후의 버전

이 지시자는 서버및임으로 연결하는 방법 대신 IP 주소로 연결하는 것 외에는 VirtualScriptAlias 지시자 사용바법과 비슷하다.

[아파치 문서 기고 안내]

작성하신 문서를 지금 아파치 사용자 커뮤니티와 공유해 주십시오. 공유하시는 글들은 여러분들의 이름으로 이곳에 등록되어 많은 분들이 도움을 받을 수 있습니다. 또한 계획중이신 글이 있으신가요? 계획중이신 글을 저희에게 알려주시거나 또는 공동작업할 수 있도록 도움을 드리도록 하겠습니다.

혹시 글이 내용이 작거나 부족하다고 생각하시나요? 정보는 공유할 수록 그 의미가 커집니다. 부족한 부분은 저희 아파치 커뮤니티 사용자들분과 채워가실 수 있습니다.

여러분들의 참여를 기다리겠습니다. 문서 기고 및 문의 사항은 submit (at) apache-kr.org 으로 해주세요. 추후 온라인에서 직접 문서를 등록하실 수 있도록 작업할 예정입니다.

 


2013년06월20일
즐겨찾기추가
icon

Apache Version ?

Lastest Version : 2.0.61, 2.2.6
[2.0.X Version] Unix / Win32
[2.2.X Version] Unix / Win32
New documents
  1. Apache-1.3.37 Module 설정 문서 - PDF Version
  2. mod_perl 2 시작하기
  3. 서비스 제한측면의 아파치 활용 예제
  4. 아파치 로그 설정 (rotatelogs 사용, image와 warm 로그는 별도 파일로)
  5. Apache에서 이미지 캐싱 처리(mod_expires)
  6. Apache2.0.XX + Tomcat4.1.XX 연동을 위한 설정
TechTalk 묻고/답하기
  1. 성인 화상채팅◈ http://ssu.cox.kr ━◈무료 화상채팅 ◈♨◈━━━━━◈→ http://ssu.cox.kr ←◈━━━━━◈♨◈ 휴대폰 인증no[노] 스피드헌팅.
  2. 성인 화상채팅◈ http://ssu.cox.kr ━◈무료 화상채팅 ◈♨◈━━━━━◈→ http://ssu.cox.kr ←◈━━━━━◈♨◈ 휴대폰 인증no[노] 스피드헌팅.
  3. 성인 화상채팅◈ http://ssu.cox.kr ━◈무료 화상채팅 ◈♨◈━━━━━◈→ http://ssu.cox.kr ←◈━━━━━◈♨◈ 휴대폰 인증no[노] 스피드헌팅.
  4. 성인 화상채팅◈ http://ssu.cox.kr ━◈무료 화상채팅 ◈♨◈━━━━━◈→ http://ssu.cox.kr ←◈━━━━━◈♨◈ 휴대폰 인증no[노] 스피드헌팅.
  5. 성인 화상채팅◈ http://ssu.cox.kr ━◈무료 화상채팅 ◈♨◈━━━━━◈→ http://ssu.cox.kr ←◈━━━━━◈♨◈ 휴대폰 인증no[노] 스피드헌팅.

더 많은 내용보기 >>

Apache Module
  • 모듈 mod_gzip 의 활용
  • 모듈 mod_vhost_alias : 다이나믹 가상 호스트 지원
  • 모듈 negotiation(mod_negotiation) : Content negotiation
  • 모듈 asis(mod_asis) : The .asis file handler
  • 모듈 mime(mod_mime) : 파일 확장자를 이용해 문서의 타입 결정
  • 모듈 info(mod_info) : 서버 설정 정보
  • More Modules >>

    Apache-KR Community

    아파치 사용자 그룹 소개  |  스폰서안내  | 링크달기이메일주소무단수집거부 | We are a member of the SCA(Software Community Alliance)

    Copyright(c) 1997-2007 by Apache User Group,. All Rights Reserved.