>  Q&A  >  본문

httproxy - 우리는 일반적으로 Nginx를 역방향 프록시 서버라고 부르는데, 역방향 프록시는 무엇이고 순방향 프록시는 무엇입니까?

우리는 보통 Nginx를 역방향 프록시 서버라고 부르는데요, 역방향 프록시란 무엇이고 순방향 프록시란 무엇인가요?

淡淡烟草味淡淡烟草味2712일 전1651

모든 응답(13)나는 대답할 것이다

  • 我想大声告诉你

    我想大声告诉你2017-05-16 17:23:59

    A는 B와 직접 소통하므로 소속사가 없습니다.

    그러나 중간에 메신저 C가 있습니다. A는 C를 통해 B에게 정보를 전달하고, C는 B의 피드백을 A에게 전달합니다.

    이 과정에서 A는 의사소통의 직접적인 대상이 B라는 것을 알고 있지만 여러 가지 이유로 B를 직접 대면할 수 없고 중개자 C가 필요합니다. 이는 소위 "전달 에이전트"입니다. 실제로 우리는 거의 그렇지 않습니다. 영어 원문에서는 Forward Proxy라고 하는데, 일반적으로는 그냥 Proxy라고 부르는데요. , 이는 프록시라는 단어의 원래 의미이기 때문에 필요하지 않습니다.

    또 다른 상황은 A가 B의 존재를 모른다는 것입니다. 원하는 응답을 얻으려면 C를 찾는 것만 알고 있습니다. A의 경우 B가 있는지, B, D, E, F가 몇 개인지... 알 수 없습니다. 상관없습니다. C만 있으면 충분합니다. 그리고 C는 상황에 따라 피드백을 받은 뒤 A에게 대응한다.

    이를 역방향 프록시라고 합니다. 차이점을 이해하려면 "긍정적"과 "부정적"이라는 두 가지 반의어에 집중하지 마십시오. 영어에서 Forward와 Reverse는 한 쌍의 반의어가 아니지만 Forward와 Backward는 같은 의미가 아닙니다. . 따라서 기술 서적과 자료의 경우에도 원본 텍스트를 읽어야 합니다.

    ─────

    친구가 아직도 헷갈려서 질문을 했는데요, 예시를 들어서 이해해줬어요. 위의 답변이 모든 분들에게 이해가 될지 모르겠어서 다음 예시도 작성했습니다.

    정방향 프록시

    www.google.com에 접속하고 싶은데, 차단되어 있다는 것을 다들 알고 계시고 직접 접속할 수 없습니다. 그래서 VPN 서비스에 연결하고 이를 로컬 HTTP 액세스용 프록시로 설정한 다음(예를 들어 Mac에서는 '모든 트래픽을 VPN 연결을 통해 보내기' 체크) www.google.com에 접속했는데 요청이 차단되었습니다. . VPN 서비스는 www.google.com에 대한 액세스를 프록시하고 결과를 나에게 반환합니다

    .
    1. 이 예는 프록시의 적용 시나리오이지만 프록시를 이것에만 사용할 수 있다는 의미는 아닙니다

    2. 가장 중요한 기능은 www.google.com의 존재를 알고 있으며, 방문한 URL은 실제로 www.google.com이지만 내 액세스 요청은 VPN 프록시를 통해 전달되며, 반응

    3. 이 경우 프록시는 투명하므로 사용자는 그 존재를 알지 못할 수 있습니다(보통은 알고 있지만 프록시를 직접 설정하지 않을 수도 있습니다)

    역방향 프록시

    www.mysite.com의 포트 80에 Nginx 서비스가 배포되어 있습니다. 사용자가 이 사이트를 방문하면 내가 만든 웹사이트를 볼 수 있습니다. 내 웹사이트에는 JSON 데이터를 얻기 위한 Ajax 요청이 있지만 이를 제공하는 API 서비스는 다음과 같습니다. 데이터가 배포됩니다. 서버의 포트 8000은 방화벽에 의해 차단되어 사용자가 직접 접근할 수 없습니다.

    그래서 Nginx를 재구성하여 :80/api/를 통한 모든 액세스 요청을 localhost:8000으로 프록시한 다음 원래 요청자(예: 원본 호스트)에게 응답을 반환합니다. 이것은 역방향 프록시입니다. 이제 내 사용자는 정상적으로 www.mysite.com에 액세스할 수 있습니다.

    1. 위와 마찬가지로 역방향 프록시를 적용한 시나리오이지만 이 방식으로만 사용할 수 있다는 의미는 아닙니다

    2. 가장 중요한 특징은 내 사용자들이 localhost:8000 서비스의 존재를 전혀 모르고, 알고 있어도 접근할 수 없다는 점이다. VPN은 서로 다른 두 가지입니다!

    3. 사용자의 유일한 "대화" 파티는 www.mysite.com(포트 80)입니다. 사용자는 다음에 무슨 일이 일어났는지 알 필요도 없고 알 필요도 없습니다

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-05-16 17:23:59

    역방향 프록시는 그 뒤에 있는 대상이 고정되어 있음을 의미합니다.
    nginx에 액세스하는 사용자는 프록시 뒤에 있는 웹 서비스에 액세스하는 것과 동일합니다

    정방향 프록시는 프록시의 대상이 고정되어 있지 않음을 의미합니다.
    사용자는 프록시 서버를 통해 모든 웹 서비스에 액세스할 수 있습니다

    회신하다
    0
  • 阿神

    阿神2017-05-16 17:23:59

    가장 큰 차이점은 클라이언트인지 아니면 프록시 역할을 하는 서버인지입니다.
    클라이언트가 요청을 보낼 때 프록시를 사용하는 경우 이는 순방향 프록시입니다.
    그리고 서버가 클라이언트의 요청을 받으면 역방향 프록시인 프록시를 사용하여 다른 서버로 전송합니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-16 17:23:59

    정방향 프록시: 액세스하려면 프록시 서버 IP 또는 도메인 이름을 적극적으로 설정해야 합니다. 설정된 서버 IP 또는 도메인 이름을 기준으로 접속 내용을 얻어서 반환합니다.

    역방향 프록시: 서버의 실제 IP 또는 도메인 이름에 직접 액세스하기 위해 설정이 필요하지 않지만, 서버는 액세스된 콘텐츠에 따라 자동으로 점프하여 콘텐츠를 반환합니다. 최종적으로 어떤 컴퓨터에 액세스하는지 알 수 없습니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-16 17:23:59

    ABC의 예에서 순방향 에이전트는 다음과 같이 이해될 수 있습니다. C는 B를 찾기 위해 A의 에이전트 역할을 하는 반면, 리버스 에이전트의 C는 B의 에이전트와 유사하여 A에 피드백을 제공합니다.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-16 17:23:59

    간단히 말하면 누구를 대표하느냐에 따라 다릅니다. 클라이언트의 프록시는 순방향 프록시이고, 서버의 프록시는 역방향 프록시입니다

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-16 17:23:59

    컴퓨터가 서버에 액세스할 때 서버가 컴퓨터의 실제 IP를 알지 못하는 경우 둘 사이에 순방향 프록시가 있습니다.

    컴퓨터가 서버에 접속하는데 컴퓨터가 서버의 실제 IP를 알 수 없다면 둘 사이에 역방향 프록시가 있는 것입니다.

    물론 많은 정방향 프록시는 http 헤드를 통해 컴퓨터의 실제 IP를 전달할 수도 있습니다

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-05-16 17:23:59

    포워드 에이전트: KFC에 가서 햄버거와 치킨윙을 먹습니다. 햄버거와 치킨윙은 각 레벨의 "에이전트" 하위 센터를 통해 본사에서 구입하여 배포됩니다.
    역대리: KFC 본사에서 햄버거와 치킨윙을 제공할 때 먼저 여러 지역에 하위 센터를 할당한 후 매장에 가서 최종적으로 배송할 수 있지만 이는 귀하에게 투명하므로 그럴 필요가 없습니다. 중국 동부인지 북부인지 알 수 있습니다. 지점에서 배송해 드립니다.

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:23:59

    온라인에 접속할 때 프록시 서버를 구성해야 하는 경우가 있습니다(예: 차단됨). 이 프록시 서버는 서버 시스템을 개발할 때 클라이언트/브라우저에서 보낸 요청 프록시가 여러 실제 비즈니스에 배포됩니다. 서버에서 이 프록시는 역방향 프록시입니다.

    정방향 프록시는 클라이언트 측으로, 역방향 프록시는 서버 측으로 생각할 수 있습니다.

    회신하다
    0
  • 習慣沉默

    習慣沉默2017-05-16 17:23:59

    보기 /q/1010000003698318?_ea=331448

    회신하다
    0
  • 취소회신하다