아파치 가상호스트

1 개요[ | ]

Virtualhost, Virtual hosting, <VirtualHost> Directive
가상 호스트, 가상 호스팅
  • 여러 도메인을 하나의 서버에서 호스팅 하는 방법
  • 한 서버의 리소스(메모리, 프로세서 등) 공유
  • 웹서버에는 기본적으로 주호스트 존재
  • 주호스트 이외의 나머지 호스트들은 모두 가상호스트
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

2 종류[ | ]

아파치에 다음과 같은 가상호스트들을 적용할 수 있음

한국어명 영어명 설명
이름기반 가상호스트 ★ name-based virtual host 같은 IP에서 도메인명이 다른 가상호스트들 운용
IP기반 가상호스트 IP-based virtual host 가상호스트별로 각각 IP주소 1개씩 부여
포트기반 가상호스트 ★ port-based virtual host 동일한 호스트에 포트만 다르게 지정
기본 가상호스트 default virtual host 특정 호스트에 해당 사항 없을때 기본적으로 응답하게 될 호스트

3 이름기반[ | ]

  • 서버에 IP주소 하나
  • DNS의 여러 주소가 이 컴퓨터를 가리킴
예: www.example.com, www.example.org 처리[1]
# 아파치가 포트 80을 기다린다
Listen 80

# 모든 IP 주소에서 가상호스트 요청을 기다린다
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example.com

# 다른 지시어들도 있다

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example.org

# 다른 지시어들도 있다

</VirtualHost>

4 IP기반[ | ]

  • 서버에 2개 IP 주소
(172.20.30.40) "주" 서버 server.domain.com을 서비스, 다른 하나에서 (172.20.30.50) 여러 가상호스트[2]
# 서버 설정
Listen 80

# 172.20.30.40에서 실행하는 "주"서버이다
ServerName server.domain.com
DocumentRoot /www/mainserver

# 다른 주소다
NameVirtualHost 172.20.30.50

<VirtualHost 172.20.30.50>
DocumentRoot /www/example1
ServerName www.example.com

# 다른 지시어들도 있다 ...

</VirtualHost>

<VirtualHost 172.20.30.50>
DocumentRoot /www/example2
ServerName www.example.org

# 다른 지시어들도 있다 ...

</VirtualHost>

5 같이 보기[ | ]

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}