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를 출력한다.
'IT > ㄴ Windows' 카테고리의 다른 글
[Win2016] Windows IIS 자체 서명 인증서로 HTTPS 접속하기 (0) | 2023.08.29 |
---|---|
[Win2016] Windows IIS FTP Server 기초 및 정리 (0) | 2023.08.28 |
[Win2016] Window IIS 정리 및 설치하기 기초 [inetpub 기본 폴더 변경 / IIS 관리자 정리] (0) | 2023.08.28 |
[Windows] Window로 Ping 안 나갈 때 설정 방법 [Windows Defender 방화벽 / 고급 설정] (0) | 2023.08.27 |
[Windows] 사용자 계정 제한으로 인한 원격 데스크톱 연결 실패 해결하기 [빈 암호 사용 제한 해제] (0) | 2023.08.27 |