아파치 가상호스트

1 개념

가상 호스트
가상 호스팅
Virtualhost
Virtual hosting
  • 여러 도메인을 하나의 서버에서 호스팅 하는 방법
  • 한 서버의 리소스, 즉 메모리, 프로세서 등을 쉐어
  • 웹서버에는 기본적으로 주호스트가 있다.
  • 주호스트 이외의 나머지 호스트들은 모두 가상호스트다.

2 가상호스트 종류

호스트 설명
Name-based Virtual host (이름기반 가상호스트) 이름을 기반으로 함. 하나의 IP에 여러 가상 호스트 운용
IP-based Virtual host (주소기반 가상호스트) 각각의 가상호스트는 하나의 IP주소를 가짐
Port-based Virtual host (포트기반 가상호스트) 동일한 호스트에 포트만 다르게 지정
Default Virtual host (기본 가상호스트) 특정 호스트로 해당 사항 없을때 기본적으로 응답하게 될 호스트

3 Name-based Virtual host (이름기반 가상호스트)

  • 서버에 IP주소 하나
  • DNS의 여러 주소가 이 컴퓨터를 가리킴
www.example.com, www.example.org 처리
# 아파치가 포트 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-based Virtual host (주소기반 가상호스트)

  • 서버에 2개 IP 주소
(172.20.30.40) "주" 서버 server.domain.com을 서비스, 다른 하나에서 (172.20.30.50) 여러 가상호스트
서버 설정
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 }}