외부 HTTP 트래픽을 내 네트워크 내의 여러 시스템으로 라우팅

외부 HTTP 트래픽을 내 네트워크 내의 여러 시스템으로 라우팅

이는 모든 웹팜이 하는 일이기 때문에 당연히 가능한 일이지만 저는 웹팜이 아닙니다.

나는 주로 Windows에 대한 꽤 좋은 기술 능력을 가지고 있지만 이를 달성하기 위해 간단한 Linux 상자를 설정하는 것을 기쁘게 생각합니다.

현재 나는 다양한 포트의 한 시스템으로의 트래픽을 허용하는 인터넷 연결 라우터를 가지고 있습니다. 이것은 잘 작동하고 한 컴퓨터에서 여러 웹사이트를 실행할 수 있지만 트래픽을 가로채서 도메인 이름을 기반으로 별도의 컴퓨터로 보낼 수 있기를 원합니다.

Reporting.example.com => PC1
Demos.example.com => PC2
MySite.example.com => PC1
Three.example.com => PC3
(all domain obviously resolve to my single internet facing IP address).

이 작업을 수행할 라우터를 얻을 수 있습니까(포트 전달 등에 대해 알고 있지만 포트에서만 작동합니다) 전달자가 있는 중간 Linux/XP 상자를 설정할 수 있습니까? 쉬운 해결책이 있나요?

답변1

이것이 유일한 방법이나 최선의 방법은 아니지만 이것이 제가 진행하는 방법입니다. 귀하의 질문에 제가 잘못 이해한 사실이 있으면 정정해 주십시오.

  1. 라우터는 WAN IP를 보유합니다. 라우터가 호스트 이름을 IP 매핑으로 지정하도록 허용하는 경우 각 도메인을 네트워크의 내부 IP에 매핑하여 이를 추가할 수 있습니다.

  2. 라우터가 이를 수행할 수 없는 경우 한 시스템에 역방향 프록시를 설정하여 도메인별로 백엔드 시스템으로 트래픽을 전달할 수 있습니다. 장애 조치(failover)에도 사용할 수 있으므로 편리합니다.

다음은 역방향 프록시로 사용되는 Apache의 가상 호스트 구성 예입니다.

ServerName Demos.example.com
ProxyPreserveHost On
ProxyTimeout 5400
ProxyPass / http://LAN_IP1 max=20 ttl=5000 retry=300
ProxyPassReverse / http://LAN_IP1/

ps 전용 역방향 프록시 서버가 필요하지 않으며 기존 시스템 중 하나를 사용하여 이를 수행할 수 있으며 이는 한 도메인을 로컬로 제공하고 다른 도메인을 프록시 처리할 수 있습니다. 이 특정 시스템은 라우터가 모든 웹 트래픽을 전달하는 시스템이어야 합니다.

답변2

Vangels 솔루션은 훌륭하게 작동했으며 다른 사람을 위해 여기에 설명했습니다.

이것은 http.conf 파일에 들어가야 합니다

<VirtualHost *:80> 
 ServerName Demos.example.com
 ProxyPreserveHost On
 ProxyTimeout 5400
 ProxyPass / http://LAN_IP1 max=20 ttl=5000 retry=300
 ProxyPassReverse / http://LAN_IP1/
</VirtualHost >

다음 모듈도 활성화해야 합니다.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

관련 정보