이 서비스의 이름은 무엇입니까?

이 서비스의 이름은 무엇입니까?

두 개의 회사 웹 서버 호스트가 동일한 LAN에 있다고 가정합니다.

  • www.bluejeans.com LAN=192.168.1.2
  • www.greenjeans.com LAN=192.168.1.3

동일한 WAN IP 주소 뒤에 있습니다. 인바운드 WAN HTTP 요청(포트 80)에서는 요청을 수신하고 해당 요청을 LAN 주소 192.168.1.2 또는 192.168.1.3으로 전달할지 여부를 결정하기 위한 처리가 필요합니다. 이상적으로는 게이트웨이 장치(라우터)가 파란색 및 녹색 URL 요청을 올바른 LAN IP에 매핑할 수 있습니다.

이 서비스의 이름은 무엇입니까?

서비스 클래스 용어를 이해하면 특정 인스턴스를 평가할 수 있습니다. UNIX 기반 라우터(RT-AC68U Optware) 또는 Raspberry Pi에서 이 기능을 구현(테스트)하고 싶습니다.

답변1

이것은 ... 불리운다 "역방향 프록시". 둘 다아파치 2그리고nginx이런 특징이 있는 바니쉬에도 이런 특징이 있습니다.

개인적으로나 직업적으로 저는 Apache2를 역방향 프록시로 사용합니다. 저는 Varnish를 시도했지만 성공적으로 구현한 적이 없습니다. 하지만 그렇다고 해서 그것이 당신에게 효과가 없다는 의미는 아닙니다.

기억해야 할 것들

  • 실제 콘텐츠 웹사이트는 일반적으로 그 뒤에 가속기가 있다는 것을 알아야 합니다.
  • https를 사용하여 역방향 프록시를 실행하십시오(예: LetsEncrypt에는 SSL 인증서를 생성하고 업데이트할 수 있는 충분한 자동화 기능이 있습니다).
  • https를 사용하여 실제 웹사이트를 실행하지 말고 https를 실행하고 있다고 생각하는지 확인하세요.
  • 들어오고 나가는 URL을 다시 작성해야 할 뿐만 아니라 나가는 콘텐츠도 다시 작성해야 합니다.

답변2

브라우저에 URL을 입력하여 도메인 이름에 대한 HTTP 요청을 하면 브라우저는 먼저 도메인의 IP 주소를 조회한 다음 포트 #80에서 해당 IP에 대한 연결을 열고 요청을 보냅니다(다양한 변형이 있음). ) 그러나 예에서는 예만으로 충분합니다):

테스트 URL:http://www.bluejeans.com/testurl

> GET /testurl HTTP/1.1
> User-Agent: curl/7.20.0 (i686-pc-linux-gnu) libcurl/7.20.0 OpenSSL/1.0.2t zlib/1.2.3 libidn/0.6.5
> Host: www.bluejeans.com
> Accept: */*

보시다시피 원래 URL이 분할되어 이제 대상 도메인 이름이 Host:헤더에 포함되고 나머지 URL 경로는 매개변수입니다 GET. 이는 웹 서버, 역방향 프록시, 캐시 또는 특정 IP:포트에서 수신 대기하는 모든 미들웨어에 도달하는 정보입니다.

이 정보만으로도 들어오는 요청이 어떤 웹사이트로 가고 싶은지 결정하고 이를 올바르게 처리할 수 있습니다.편집자 대행실제로 요청을 처리하는 서버(때때로 호출됨)에 전달됩니다 origin server.

관련 정보