[Win2016] Window IIS Server 호스트 헤더 알아보기
Nowhere 와 Now here 의 차이

IT/ㄴ Windows

[Win2016] Window IIS Server 호스트 헤더 알아보기

TIENE 2023. 8. 28. 11:37
반응형

Host Header in Windows Internet Information Services(IIS)

- 클라이언트가 요청하는 웹 서버의 도메인 이름을 지정하는 HTTP 요청 헤더를 의미한다.

- Host Header는 웹 호스팅의 일반적인 관행인 단일 IP 주소에서 여러 웹 사이트를 서비스하는 데 중요하며, 단일 서버에서 여러 웹 사이트의 호스팅을 가능하게 하는 데 중요한 역할을 한다.

- 그리고, 각 도메인 이름을 통해 액세스할 수 있는 동안 리소스를 공유할 수 있다.
- 클라이언트가 HTTP 요청을 웹 서버로 보낼 때 요청에 대한 추가 정보를 제공하는 헤더 집합을 포함시킨다. 특히 여러 웹 사이트가 동일한 IP 주소로 호스트되는 경우 클라이언트가 액세스를 시도하는 웹 사이트를 나타내는 데 사용된다.


- 특징
Virtual Hosting

단일 IP 주소를 가진 단일 웹 서버가 여러 웹 사이트를 호스팅하는 시나리오에서 서버는 Host Header를 사용하여 서비스할 웹 사이트의 콘텐츠를 결정하며, 이 기술을 가상 호스팅이라고 한다.

Load Balancing

로드 밸런서는 Host Header를 사용하여 수신 요청을 요청된 도메인을 기반으로 다른 백엔드 서버 또는 클러스터로 라우팅하여 여러 서버에 로드를 분산시킨다.


Host Header의 작동 방식 예

두 웹 사이트 "website1.com "과 "website2.com "이 있는 IIS 서버가 있다고 가정할때, 두 웹 사이트 모두 동일한 IP 주소를 공유한다. 클라이언트가 HTTP 요청을 보낼 때 다음과 같은 Host Header가 포함된다.

GET /page.html HTTP/1.1
Host: website1.com

IIS 서버는 Host Header의 값("website1.com ")을 사용하여 서비스할 웹 사이트의 콘텐츠를 결정한다. 동일한 요청에 "Host: website2.com "이 있으면 서버는 요청을 두 번째 웹 사이트로 보낸다.

 

[Window IIS Server 호스트 헤더 알아보기]


[구성도]

 

 

 

1. DNS Server 구성

- DNS에서 A Record를 생성한다.

- [Win2003] DNS 서버 구성하기 [GNS3 연동]를 참고하면 된다.

 

 

2. IIS Server 구성

2.1) Host Header 구성을 위한 파일 및 폴더 생성

- 하나의  Port 80를 이용하여, 다수의 사이트를 구현하는 기술이다.

- Web Site 별 기본 디렉토리를 생성하고, 기본 파일을 생성한다.

www1.tiene.vm = c:\www1\index.html
www2.tiene.vm = c:\www2\start.html

 

 

2.2) Host Header 구성

- Host Header 구성을 위해, [IIS(인터넷 정보 서비스) 관리자]로 이동한다.

- [사이트]를 우클릭하고, [웹 사이트 추가...]로 진입한다.

 

- 다음과 같은 창이 열리는데, 생성할 Web Site를 입력하면 된다.

- 실제 경로와 호스트 이름이 제일 중요하며, Web Site가 실질적으로 동작하는데 영향을 끼치기 때문에 올바르게 입력한다. 사이트 이름은 구별자(식별자) 로 호스트 이름과 동일하게 입력하였다.

 

- 모든 입력을 마치고 확인해보면 다음과 같이 기본 웹 사이트 이외의 사이트가 생성되었다.

- Port번호는 전부 동일하게 80번을 사용하고 있다.

 

2.3) 기본 문서 변경

- www2 내부에 있는 파일 이름이 start.html이다. 이 이름은 기본 문서에 등록되어 있지 않기 때문에 등록해야만 www2 내의 기본 문서가 출력된다.

 

 

3. Web Site 접속

- 다음과 같이 도메인 이름을 입력하여 접속이 정상적으로 완료되었다.

 

- Wireskark에서도 확인이 가능한 것처럼 하나의 Port 번호로 가상의 Host를 생성하여 Web Site를 생성하였다.

 

4. 다중 Host Header

- 다수의 Host가 하나의 Web Site 를 제공하는 서비스다.

- www1.tiene.vm과 www1.tiene188.vm이 하나의 Host Header가 된다.

www1.tiene.vm
 = www1.tiene188.vm

www2.tiene.vm
 = www2.tiene188.vm

 

4.1) Binding 구성

- 다중 Host Header 구성을 위해, [IIS(인터넷 정보 서비스) 관리자]로 이동한다.

- [사이트]를 우클릭하고, [바인딩 편집]으로 진입한다.

 

 

- 바인딩, 말 그대로 Host를 묶는 것이다. www1.tiene.vm와 www1.tiene188.vm 이 동일한 Web Site를 출력한다.


반응형