Virtual Host 설정

리눅스 2014. 10. 11. 06:57
728x90

가상호스트(Virtual Host)란?

웹 서버에는 기본적으로 존재하는 호스트가 있는데  이를 주호스트(main host)라고 하나의 웹 서버에는 주호스트 외에 별도의 홈 디렉토리를 가진 여러 개의 호스트를 설정하여 운용할 수 있다. 주로 웹 호스팅 서비스에 사용되며 주호스트 외에 나머지 호스트들을 모두 가상호스트 (virtual host)라고 한다.

가상 호스트 종류

   ● 이름기반의 가상호스트(Name-based virtual host)

   ● 주소기반의 가상호스트(IP-based virtual host)

   ● 포트기반의 가상호스트(Port-based virtual host)

   ● 기본 가상호스트(Default virtual host)

위의 네가지 경우 모두 하나의 물리적인 서버에서 운용된다는 것과 다수개의 가상호스트를 운용한다는 것을 전제로 한다.

이름기반의 가상호스트는 하나의 IP Address에 여러개의 가상호스트를 운용하는 것이며, 주소기반의 가상호스트는 가상호스트 각각에 하나씩의 IP Address를 할당하여 운용하는 것이고 포트기반의 가상호스트는 하나의 동일한 호스트에 포트만 다르게 지정하여 운용하는 것이다.

그리고 마지막 기본 가상호스트는 설정되어있는 어떤 호스트도 해당사항이 없는 호스트의 로딩요구를 받았을때 기본으로 응답하게될 호스트를 지정하게 된다

name-based virtual hosting

  • 하나의 웹 서버에서 한 개의 IP주소를 가지고 여러 호스트에 대해서 웹 서비스 제공.
  • 현재 웹 호스팅 업체에서 주로 사용
  • 네임 서버에서 각각의 가상 호스트에 대해서 CNAME으로 반드시 지정해야 함



IP-based virtual hosting

  • 웹 서버에 여러 개의 IP주소가 할당되어야 가능
  • IP 주소의 고갈 문제가 대두되기 전의 초창기 웹 호스팅 업체에서 많이 사용되었다.
  • 한 대의 웹 서버와 하나의 이더넷 카드에 여러 개의 IP주소를 할당하는 IP alias을 사용하여 할당  
  • IP alias 방법
     ifconfig eth0:순번 xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx up
     … …



많은 IP 주소가 필요한 단점이 있지만, 이름기반의 가상호스트보다도 더 안정적이고, 더 효율적이며 관리하기도 편한 것이 주소기반의 가상 호스트이다.

Port-based virtual hosting

  • 하나의 웹 서버에서 기본포트 80번은 주호스트로 설정하고 여러 개의 다른 포트를 지정하여 원하는 만큼의 가상서버를 운용하는 방법
  • 즉 80번은 주호스트로 사용하고 8080번, 8081번 그리고 8082번 등등 포트를 지정하여 같은 가상 호스트로 사용하는 것이다.

블로그 이미지

Link2Me

,