프록시 서버와 리버스 프록시 서버의 차이점은 무엇입니까?
답변
이전 답변은 정확했지만 너무 간결했습니다. 몇 가지 예를 추가하려고합니다.
우선, “프록시”라는 단어는 누군가 또는 다른 누군가를 대신하여 행동하는 것을 의미합니다.
컴퓨터 영역에서 우리는 다른 컴퓨터를 대신하여 작동하는 한 서버에 대해 이야기하고 있습니다.
내게 필요한 옵션의 목적을 위해 토론을 웹 프록시로 제한하지만 프록시 아이디어는 웹 사이트에만 국한되지 않습니다.
앞으로 프록시
웹 프록시에 대한 대부분의 논의는 “전달 프록시”로 알려진 프록시 유형을 나타냅니다.
이 경우 프록시 이벤트는 “전달 프록시”가 원래 요청자를 대신하여 다른 웹 사이트에서 데이터를 검색하는 것입니다.
3 대의 컴퓨터 이야기 (1 부)
예를 들어, 인터넷에 연결된 세 대의 컴퓨터를 나열하겠습니다.
- X = 컴퓨터 또는 인터넷의 “클라이언트”컴퓨터
- Y = 프록시 웹 사이트 proxy.example.org
- Z = 방문하려는 웹 사이트, www.example.net
일반적으로 하나는 X --> Z.
그러나 일부 시나리오에서는 다음과 같이 체인 Y --> Z
을 대신 하는 것이 좋습니다 .X
X --> Y --> Z
X가 정방향 프록시 서버를 사용하려는 이유 :
정방향 프록시 서버의 (매우) 부분 사용 목록은 다음과 같습니다.
-
1) X는 Z에 직접 액세스 할 수 없으므로
-
a)
X
인터넷 연결을 통해 관리 권한을 가진 사람이 사이트에 대한 모든 액세스를 차단하기로 결정했습니다Z
.-
예 :
-
스톰 웜 바이러스는 사람들을 방문하도록
familypostcards2008.com
유도하여 확산되어 시스템 관리자가 사이트에 대한 액세스를 차단하여 사용자가 실수로 자신을 감염시키는 것을 방지합니다. -
대기업의 직원이 너무 많은 시간을 낭비하고
facebook.com
있기 때문에 경영진은 업무 시간 동안 액세스가 차단되기를 원합니다. -
지역 초등학교는
playboy.com
웹 사이트에 대한 인터넷 액세스를 허용하지 않습니다 . -
정부는 뉴스 게시를 제어 할 수 없으므로와 같은 사이트를 차단하여 뉴스에 대한 액세스를 대신 제어합니다
wikipedia.org
. TOR 또는 FreeNet을 참조하십시오 .
-
-
-
b) 관리자
Z
가 차단했습니다X
.-
예 :
-
Z의 관리자는 X로부터의 해킹 시도를 발견하여 X의 IP 주소 (및 / 또는 netrange)를 차단하기로 결정했습니다.
-
Z는 포럼 웹 사이트입니다.
X
포럼을 스팸하고 있습니다. Z는 X를 차단합니다.
-
-
-
프록시 재발급
3 대의 컴퓨터 이야기 (2 부)
이 예에서는 인터넷에 연결된 세 대의 컴퓨터를 나열합니다.
- X = 컴퓨터 또는 인터넷의 “클라이언트”컴퓨터
- Y = 리버스 프록시 웹 사이트 proxy.example.com
- Z = 방문하려는 웹 사이트, www.example.net
일반적으로 하나는 X --> Z.
그러나 일부 시나리오에서는 관리자가 Z
직접 액세스를 제한하거나 허용하지 않고 방문자가 Y를 먼저 통과하도록하는 것이 좋습니다. 따라서 이전과 Y --> Z
마찬가지로을 대신하여 데이터를 검색하고 X
있으며 다음과 같은 체인이 있습니다 X --> Y --> Z
.
이번에는 “전달 프록시”와 다른 점은 사용자 X
는 자신이 액세스 Z
하고 있음을 알기 때문 X
입니다 Y
. 서버 Z
는 클라이언트에게 보이지 않으며 리버스 프록시 만 Y
외부에서 볼 수 있습니다. 리버스 프록시는 클라이언트 측에 프록시 구성이 필요하지 않습니다.
고객 X
은 자신과 통신하고 있다고 생각 하지만 Y
( X --> Y
) 현실은 Y
모든 통신 을 전달하는 것입니다 ( X --> Y --> Z
다시).
Z가 리버스 프록시 서버를 설정하려는 이유 :
- 1) Z는 웹 사이트의 모든 트래픽이 Y를 먼저 통과하도록하고 싶습니다.
- a) Z에는 수백만 명의 사람들이보고 싶어하는 대규모 웹 사이트가 있지만 단일 웹 서버가 모든 트래픽을 처리 할 수는 없습니다. 따라서 Z는 많은 서버를 설정하고 인터넷에 리버스 프록시를 설정하여 사용자가 Z를 방문하려고 할 때 가장 가까운 서버로 사용자를 보냅니다. 이는 CDN (Content Distribution Network) 개념의 작동 방식의 일부입니다.
- 예 :
- Apple Trailers 는 Akamai를 사용합니다
- Jquery.com은 CloudFront CDN ( sample )을 사용하여 JavaScript 파일을 호스팅합니다 .
- 기타
- 예 :
- a) Z에는 수백만 명의 사람들이보고 싶어하는 대규모 웹 사이트가 있지만 단일 웹 서버가 모든 트래픽을 처리 할 수는 없습니다. 따라서 Z는 많은 서버를 설정하고 인터넷에 리버스 프록시를 설정하여 사용자가 Z를 방문하려고 할 때 가장 가까운 서버로 사용자를 보냅니다. 이는 CDN (Content Distribution Network) 개념의 작동 방식의 일부입니다.
- 2) Z의 관리자는 서버에서 호스팅되는 콘텐츠에 대한 보복에 대해 걱정하며 주 서버를 공개적으로 공개하고 싶지 않습니다.
- a) “캐나다 약국 (Canadian Pharmacy)”과 같은 스팸 브랜드의 소유자는 수천 대의 서버를 보유하고 있지만 실제로는 대부분의 웹 사이트가 훨씬 적은 수의 서버에 호스팅되어있는 것으로 보입니다. 또한 스팸에 대한 악용 불만은 주 서버가 아닌 공용 서버 만 종료합니다.
위 시나리오에서 Z
를 선택할 수 있습니다 Y
.
게시물의 주제로 연결되는 링크 :
컨텐츠 전달 네트워크
- CDN 목록
정방향 프록시 소프트웨어 (서버 측)
HTTP 용 리버스 프록시 소프트웨어 (서버 측)
- Apache mod_proxy (HTTP의 정방향 프록시로도 작동 가능)
- nginx (hulu.com, 스팸 사이트 등에서 사용)
- HA 프록시
- 캐디 웹 서버
- 빛
- perlbal (실시간 저널 용)
- 포트 퓨전
- 파운드
- 니스 캐시 ( FreeBSD 커널 전문가가 작성 )
- 휴식
TCP 용 리버스 프록시 소프트웨어 (서버 측)
또한보십시오:
답변
한 쌍의 간단한 정의는 다음과 같습니다.
전달 프록시 : 요청자 (또는 서비스 소비자)를 대신하여 행동
리버스 프록시 : 서비스 / 콘텐츠 제작자를 대신하여 행동합니다.
답변
아래 다이어그램이 매우 유용하다는 것을 알았습니다. 인터넷을 통한 클라이언트에서 서버 로의 순방향 및 역방향 프록시 설정 아키텍처를 보여줍니다 . 이 이미지는 qyb2zm302의 답변 과 다른 답변을 더 잘 이해하는 데 도움이됩니다 .
F5 의 DevCentral 에서이 비디오 를 볼 수도 있습니다Peter Silva .
사진 출처 : Quora . 그러나 Martijn Pieters에 따르면이 이미지는 Pulse Secure Community 또는 Julien Pauli 사이트 에서 가져온 것일 수 있습니다. developpez.com (프랑스어)에서 .
그것은 고전 속담을 생각 나게했다.
그림은 1000 단어의 가치가 있습니다.
답변
정방향 프록시 대 역방향 프록시 (2012)는 의 차이점을 매우 명확하게 설명합니다.
qyb2zm302 님의 답변 은 프록시의 응용 프로그램을 훌륭하게 자세히 설명하지만 정방향 및 역방향 프록시 간의 기본 개념에 대해 설명합니다. 리버스 프록시의 경우 X → Y → Z, X는 Z가 아닌 Y에 대해 알고 있습니다.
프록시는 단순히 커뮤니케이션을위한 중개인입니다 (요청 + 응답). 클라이언트 <-> 프록시 <-> 서버
- 클라이언트 프록시 : ( client <-> proxy ) <-> server
프록시는 클라이언트를 대신하여 작동합니다. 클라이언트는 체인에 관련된 세 가지 머신에 대해 알고 있습니다. 서버는 그렇지 않습니다.
- 서버 프록시 : 클라이언트 <-> ( 프록시 <-> 서버 )
프록시는 서버를 대신하여 작동합니다. 클라이언트는 프록시에 대해서만 알고 있습니다. 서버는 전체 체인을 알고 있습니다.
전진 과 후진 은 단순히 클라이언트 와 서버 프록시에 대해 혼란스럽고 관점에 의존하는 이름 인 것 같습니다 . 나는 명백한 의사 소통을 위해 전자를 후자에게 버릴 것을 제안한다.
물론, 문제를 더 복잡하게하기 위해 모든 머신이 클라이언트 나 서버 만있는 것은 아닙니다. 상황이 모호한 경우 프록시가있는 위치와 터널링하는 통신을 명시 적으로 지정하는 것이 가장 좋습니다.
답변
일부 다이어그램이 도움이 될 수 있습니다.
전달 프록시
리버스 프록시
답변
차이점은 주로 배포에 있습니다. 웹 전달 및 역방향 프록시는 모두 동일한 기본 기능을 갖습니다. 다양한 형식의 HTTP 요청에 대한 요청을 수락하고 일반적으로 오리진 또는 연락 서버에 액세스하여 응답을 제공합니다.
완전한 기능을 갖춘 서버에는 일반적으로 액세스 제어, 캐싱 및 일부 링크 매핑 기능이 있습니다.
정방향 프록시는 클라이언트 컴퓨터를 구성하여 액세스하는 프록시입니다. 클라이언트는 프록시 기능 (리디렉션, 프록시 인증 등)에 대한 프로토콜 지원이 필요합니다. 프록시는 사용자 환경에는 투명하지만 응용 프로그램에는 투명하지 않습니다.
리버스 프록시는 웹 서버로 배치되고 웹 서버처럼 작동하는 프록시입니다. 단, 프로그램 및 디스크의 컨텐츠를 로컬로 작성하는 대신 요청을 원래 서버로 전달합니다. 클라이언트의 관점에서 그것은 이다 사용자 경험을 완전히 투명하므로, 웹 서버.
실제로 단일 프록시 인스턴스는 서로 다른 클라이언트 모집단에 대해 정방향 및 역방향 프록시로 동시에 실행될 수 있습니다.
답변
프록시 : 클라이언트를 대신하여 요청합니다 . 따라서 서버는 응답을 프록시에 반환하고 프록시는 응답을 클라이언트에 전달합니다. 실제로 서버는 클라이언트가 누구인지 (클라이언트의 IP 주소) “학습”하지 않습니다. 프록시 만 알 수 있습니다. 그러나 클라이언트는 본질적으로 서버로 향하는 HTTP 요청을 형식화하기 때문에 서버를 잘 알고 있지만 프록시로 전달합니다.
리버스 프록시 : 서버를 대신하여 요청을 수신하고 있습니다. 요청을 서버로 전달하고 응답을 수신 한 다음 클라이언트에 응답을 리턴합니다. 이 경우 클라이언트는 실제 서버 (서버의 IP 주소)를 누구도 “학습”하지 않습니다 (일부 예외 제외). 프록시 만 알 수 있습니다. 리버스 프록시의 구성에 따라 서버는 실제 클라이언트를 알거나 알 수 없습니다.