상상하다:
IP 수가 제한되어 있으므로 여러 도메인 이름이 동일한 IP 주소로 확인됩니다. 그러나 이러한 도메인은 모두 동일한 네트워크 서버, 가상 머신 또는 전용 머신에서 실행되지 않을 수도 있습니다. 그래서 개인 네트워크로 들어오는 도메인을 URL의 도메인을 기반으로 올바른 위치로 라우팅하고 싶습니다.
어떻게 해야 하나요?
답변1
대부분의 라우터/방화벽은 특정 포트를 기반으로 트래픽 리디렉션을 허용합니다. 예를 들어 모든 SMTP 트래픽(포트 25)은 192.168.1.1로 리디렉션됩니다.
그러나 트래픽을 처리할 서버가 여러 대인 경우(도메인당 서버 1대). 역방향 프록시(nginxHTTP, IMAP, POP3를 지원합니다. 예를 들어 포트 80에 대한 모든 트래픽은 192.168.1.2
nginx가 실행 중인 포트 로 리디렉션되고 호스트 이름에 따라 localhost
또는 로 리디렉션됩니다 192.168.1.4
.
답변2
귀하의 질문을 완전히 이해했는지 잘 모르겠습니다. 이렇게 하면 NAT 뒤에 HTTP 서버로 실행되는 여러 대의 컴퓨터가 있게 됩니다. 요청이 도착하면 서버 중 하나로 전달되기를 원하시나요?
Apache와 mod_rewrite를 사용하면 다음과 같이 추출할 수 있습니다.
건배.
답변3
나는 다음과 같은 것을 사용하여 뭔가를했습니다.에이전트 패스Apache의 mod_proxy 아래 지시어.
먼저,이름 기반 가상 호스팅서로 다른 도메인이 동일한 IP를 사용하여 서로 다른 사이트를 호스팅하도록 허용하려면 내부 웹 서버와 연결된 도메인에 대해 다음 구성을 사용합니다.
# Within your VirtualHost definition
ServerName somedomain.com
ProxyPass / http://10.0.1.42/
ProxyPassReverse / http://10.0.1.42/
http://somedomain.com
이렇게 하면 모든 요청이 에서 호스팅되는 내부 사이트로 투명하게 프록시 처리 됩니다 http://10.0.1.42
.
화타이
답변4
나는 얼마 전에도 같은 것을 찾고 있었습니다. 한번도 접해본 적은 없지만 유용할 수도 있겠다는 생각이 들었습니다.
mod
_proxy 모듈을 사용 하고 이 noproxy
지시어를 사용하세요.