단일 IP 주소 뒤에 여러 개의 물리적 웹 서버를 어떻게 호스팅합니까?


14

내 집에서 여러 대의 웹 서버를 실행하고 있으며 각 서버는 라우터에 연결되어 있습니다.

서버 A 서버 B 서버 C

내 IP (xx.xxx.xx.xx) 포트 80이 서버 A를 가리키고 있기 때문에 현재 하나의 서버 만 사용할 수 있습니다. 그러나 일부 도메인은 서버 A, 일부는 B 등을 가리 킵니다.

하나의 IP 주소로 각 서버를 어떻게 가리 킵니까? 예를 들어 내 A (호스트) 레코드는 모두 내 IP 주소 만 가리 킵니다.

혼란스럽게 들리면 죄송합니다. 명확하지 않은 경우 알려주십시오.

각 서버는 Ubuntu Server 12.04.02를 실행 중이며 Apache를 사용하고 있습니다 (유용한 경우). 저의 라우터는 넷기어이고 ISP는 Time Warner Cable입니다.



@kobaltz 가상 호스트가 아닌 다른 서버이기 때문에 정확하게는 아닙니다. 이들은 3 개의 물리적 서버입니다
Stephen Cioffi

내 질문에 대한 대답은 여전히 ​​라우터 이후에 처음으로 발견되는 리버스 프록시 서버를 사용하는 것과 동일합니다. 여기에서 데이터를 세 서버 중 하나로 푸시합니다. OpenWRT와 같은 것을 사용하면 라우터 내 에서이 작업을 수행 할 수도 있습니다.
kobaltz

나는 현재 다른 질문에 대한 대답에서 설명을 사용하고 있습니다. 게이트웨이 용 VM이있는 가상 머신 서버와 20 개의 노드가 있습니다. 하위 도메인과 도메인 이름에 따라 20 대의 서버 중 하나로 데이터를 푸시합니다.
kobaltz

답변:


9

웹 사이트는 Host:브라우저에서 보낸 헤더를 통해 인식됩니다 . 그러나 라우터 가 가상 호스팅에서 사용하는 HTTP 디매 글링을 수행 할 수 없으므로 하나의 서버를 "종료점"으로 선택해야 합니다 (라우터에 가상 서버 / DMZ로 주소 지정).

그런 다음, 한 시스템을 도메인의 웹 서버로 구성하고 다른 시스템의 프록시 (예 : Apache 리버스 프록시 사용 )를 구성하거나 해당 시스템에 프록시를 설치하여 다른 서버에 대한 요청을 다중화하는 데 사용하십시오 . 일부 도메인은 동일한 시스템에서 호스팅 될 수도 있습니다. nginx이러한 종류의 작업에 적합하지만 다른 소프트웨어 (예 :)를 사용할 수도 있습니다 pound.

웹 서버의 구성을 전혀 고려할 필요가 없기 때문에 두 번째 솔루션이 더 낫습니다. 하나의 프록시가 프록시를 수행하고 여러 웹 서버가 웹 서비스를 수행합니다. 서버를 추가하거나 가상 호스트를 이동해야하는 경우이 아키텍처를 유지 관리하기가 더 쉽습니다.

                                    +-- virtual hosts 1..9 -- server B
                                    |
router ----- machine A (nginx?) ----+-- virtual hosts 10..23- server C
                                    |
                                    +-- virtual hosts 24..99- server D

요청이 두 번 (프록시에 의해 한 번, 의도 된 수신자에 의해 한 번) 디코딩되어 발생하는 추가 대기 시간 은 무시할 수 있으며 프록시 자체가 제공하는 가속에 의해 상쇄됩니다.


VM 게스트를 프록시로 만들면 사용하기에 가장 적합한 OS는 무엇이며 어떤 하드웨어 리소스를 할당해야합니까? DMZ에서이 프록시를 설정하는 것에 대해 언급했습니다 ... 이것이 필요합니까? 라우터의 방화벽과 NAT를 통해 여전히 보호 계층이 유지되도록 열려고하는 포트만 포트 포워드 할 수 없습니까?
Reece

프록시 리소스는 문제가되지 않으며 네트워크에 많이 의존합니다. OS에 관해서는, 가장 편한 것에 따라 Linux 또는 BSD라는 유닉스라고 말할 것입니다. 여러 가상화 솔루션 (vmware, virtualbox, xen 등)을위한 기성품 어플라이언스도 있습니다. 그리고 네, 필요한 포트만 확실히 포워드 할 수 있습니다.
LSerni
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.