호스트 헤더 기능이 있는 라우터/게이트웨이

호스트 헤더 기능이 있는 라우터/게이트웨이

내 홈 오피스 환경에서 하나의 공용 IP를 사용하여 포트 80에서 웹 서버를 여러 개 실행할 수 있도록 라우터/게이트웨이/방화벽을 얻기 위해 무엇을 찾아야 하는지 알려줄 수 있는 사람이 있습니까? 서버 컴퓨터에서 Apache나 IIS를 사용하여 수행할 수 있다는 것을 알고 있습니다. Cisco 또는 Netgear 라우터?

예:

host1.example.com:80 -> 192.168.0.101

host2.example.com:80 -> 192.168.0.102

답변1

Openwrt는 apache/squid를 잘 지원합니다. 리버스 프록시에도 Apache를 사용했습니다. 필요한 것은 openwrt 호환 라우터뿐이었습니다.

두 번째로, 이 특수 프록시 작업 방법에서 Apache를 설정해야 합니다(이 경우 Apache를 제안합니다). 보이는 것만큼 어렵지 않습니다. 원한다면 이 게시물에 일부 구성 예제를 복사하여 붙여넣을 수 있어서 기뻤습니다.

이러한 프록시의 CPU 요구 사항에 대해서는 그다지 큰 문제가 없습니다. 대부분의 라우터는 CPU가 그다지 강력하지 않습니다. 왜냐하면 그러한 hw/sw 구성이 수행하는 작업은 실제로 패킷 전달만 하는 것과는 다르기 때문입니다. fe php-interpretation 또는 jvm과 같은 CPU 집약적 기능은 없으며 아파치는 매우 빠른 스레드 모드에서 "작업자" mpm으로 실행될 수 있습니다.

답변2

라우터는 일반적으로 서버를 실행하지 않습니다. OpenWRT 및 DD-Wrt 기반 라우터는 메모리가 충분할 경우 이 기능을 제공할 수 있습니다. 이는 Linux 커널을 실행하고 있기 때문입니다. 웹 서버 기능은 Apache 또는 Squid와 같은 웹 서버나 프록시를 실행하여 수행됩니다.

서버에 소규모 사이트가 여러 개 있는 경우 Rasberry Pi 또는 유사한 장치를 사용하여 웹 사이트를 실행할 수 있습니다. 더 많은 용량이 필요한 경우 Linux를 실행하는 소규모 서버가 방화벽과 웹 서버 기능을 모두 제공할 수 있습니다. 저는 Linux를 웹 서버와 방화벽으로 실행하는 두 번째 네트워크 카드를 사용하여 재활용된 데스크탑 시스템으로 시작했습니다.

저는 웹 서버에서 이러한 분리를 수행합니다. 주요 웹 서버는 Host 헤더를 기반으로 콘텐츠 전달을 처리합니다. Apache 웹 서버는 이 기능을 VirtualHosts라고 부릅니다. 호스트 트래픽의 일부 또는 전부를 두 번째 서버로 프록시하는 것이 가능합니다.

다중 도메인 HTTPS는 인증서가 호스트 이름과 연결되어 있기 때문에 더 어렵습니다. 도메인이 관련되어 있으면 다중 도메인 또는 와일드카드 인증서가 작동합니다. 일부 서버는 인증서를 제공하기 전에 호스트 이름 협상을 처리할 수 있지만 저는 이것을 성공적으로 구현하지 못했습니다.

라우터가 HTTP 요청을 웹 서버로 전달하도록 할 수 있습니다. 대부분의 라우터는 포트 및/또는 DMZ 주소를 통해 이 기능을 제공합니다.

관련 정보