다음을 통해 공유


애플리케이션 요청 라우팅을 사용하여 전달 프록시 만들기

작성자: Jim van de Erve

이 문서에서는 ARR(애플리케이션 요청 라우팅) 및 IIS(인터넷 정보 서비스)의 URL 다시 쓰기 기능을 사용하여 정방향 프록시 서버를 구현하는 방법을 보여 줍니다.

개요

애플리케이션 요청 라우팅은 프록시 서버를 사용하여 인터넷 트래픽을 제어할 수 있는 IIS의 기능입니다. 프록시 서버는 요청 쪽의 클라이언트 또는 응답 쪽의 웹 서버 작업자에게 서비스를 제공하는 단일 연락처 지점 역할을 합니다. 요청 쪽에서 프록시는 여러 클라이언트 중 하나의 요청을 수락하고 인터넷에 전달합니다. 인터넷에 대한 요청은 클라이언트가 아닌 프록시에서 들어오는 것으로 보입니다. 응답 쪽에서 프록시는 인터넷의 요청을 수락하고 여러 작업자 중 하나에 배포합니다. 인터넷에 요청이 처리된 것으로 나타나고 백 엔드 작업자 중 하나가 아닌 프록시 서버 자체에 의해 응답이 생성되는 것처럼 보입니다.

클라이언트의 아웃바운드 요청을 처리하고 인터넷에 전달하고 생성된 응답을 클라이언트에 반환하는 프록시 서버의 첫 번째 형식을 전달 프록시라고 합니다. 인터넷에서 들어오는 요청을 처리하고 백 엔드 작업자에게 전달하고 인터넷에 대한 응답을 반환하는 두 번째 유형의 프록시 서버를 역방향 프록시라고 합니다.

앞으로 및 역방향 프록시

전달 프록시 및 역방향 프록시에는 크게 다른 함수가 있지만 둘 다 요청자 또는 응답자의 프록시 역할을 하는 것과 동일한 기본 작업을 수행합니다. 두 경우 모두 프록시 서버는 인터넷에서 프라이빗 네트워크를 격리하므로 보안을 개선하기 위한 조치를 취할 수 있습니다. 두 경우 모두 프록시는 요청 및 응답을 처리하여 캐싱 또는 압축을 사용하여 성능을 향상시킬 수 있는 트래픽에 대한 작업을 수행하고, 공격을 방어하고, 정보를 필터링할 수 있습니다.

ARR을 전달 프록시로

ARR이 정방향 프록시 역할을 하는 경우 클라이언트 컴퓨터의 내부 네트워크(또는 인트라넷)의 일부입니다. 프록시는 URL 다시 쓰기 규칙을 사용하여 클라이언트에서 인터넷으로 요청을 전달합니다. ARR을 전달 프록시로 사용하여 캐싱을 통해 대역폭 사용 및 성능을 향상시킬 수 있습니다. 그러나 본격적인 상업용 정방향 프록시로는 적합하지 않습니다.

ARR은 다른 프로토콜이 아닌 HTTP 트래픽만 처리합니다. ARR은 HTTP CONNECT 동사를 지원하지 않으므로 HTTPS 트래픽 전달을 지원하지 않습니다.

ARR을 전달 프록시로

대상 웹 서버의 이름을 지정하는 클라이언트 중 하나에서 요청을 받으면 전달 프록시 서버는 다음과 같이 요청을 처리하고 방화벽을 통해 인터넷으로 전달합니다.

  1. 전달 프록시 서버는 클라이언트에서 요청을 수신하고 유효성을 확인합니다.
  2. 요청이 유효한 경우 ARR은 캐시를 검사하여 응답이 이미 있는지 확인합니다. 응답을 찾으면 ARR은 요청을 인터넷에 보내지 않고 클라이언트에 반환합니다.
  3. ARR이 캐시에서 응답을 찾지 못하면 프록시 서버는 방화벽을 통해 인터넷 연결 및 정보가 있는 콘텐츠 서버로 요청을 보냅니다.
  4. 콘텐츠 서버에서 요청을 처리하면 인터넷에서 전달 프록시 서버로 응답이 반환됩니다. 응답을 캐시하도록 ARR을 구성할 수 있습니다.

전달 프록시는 다음과 같은 이점을 제공합니다.

  • 정기적으로 요청되는 정보를 캐싱하여 성능을 향상시키고 네트워크 트래픽을 줄입니다(사용하도록 설정된 경우). 첫 번째 요청자에 대한 응답을 캐시하고 후속 클라이언트가 동일한 콘텐츠를 요청하면 캐시의 콘텐츠가 제공됩니다. 응답은 콘텐츠 서버에서 다시 요청되지 않습니다.
  • 요청이 유효한지 확인하여 네트워크 보안을 개선하는 데 도움이 됩니다.
  • IIS 압축을 사용하여 성능을 향상시킵니다(사용하도록 설정된 경우).
  • URL 다시 쓰기를 사용하여 정책이 충족되도록 필터링을 지원합니다.

ARR을 전달 프록시로 설치 및 구성

사전 요구 사항

ARR을 사용하여 정방향 프록시 서버를 설정하려면 다음이 있어야 합니다.

  • IIS용 추적 역할 서비스가 설치된 Windows 2008(모든 SKU) 이상의 IIS 7.0 이상.
  • Microsoft 애플리케이션 요청 라우팅 버전 3 및 종속 모듈
  • 작업 사이트 및 애플리케이션이 있는 최소 한 명의 작업자 서버.

ARR 설치

애플리케이션 요청 라우팅 버전 3이 설치되지 않은 경우 여기에서 다운로드할 수 있습니다. 이 링크에 표시되는 다운로드 사이트에는 설치 지침이 포함되어 있습니다.

URL 다시 쓰기 설치

서버 관리자 통해 IIS용 URL 다시 쓰기 모듈을 설치합니다. 자세한 내용은 Windows Server 2012 R2에 IIS 8.5 설치를 참조하세요.

ARR을 전달 프록시로 구성

ARR을 프록시로 사용하도록 설정하고 ARR을 전달 프록시로 사용하도록 설정하는 URL 다시 쓰기 규칙을 만들려면 다음과 같이 진행합니다.

  1. IIS 관리자를 엽니다.

  2. 연결 창에서 서버를 선택합니다.

  3. 서버 창에서 애플리케이션 요청 라우팅 캐시를 두 번 클릭합니다. ARR 캐시 아이콘

  4. 작업 창에서 서버 프록시 설정을 클릭합니다. 서버 프록시 설정

  5. 애플리케이션 요청 라우팅 페이지에서 프록시 사용을 선택합니다. 프록시 사용

  6. 작업 창에서 적용을 클릭합니다. 이렇게 하면 서버 수준에서 ARR을 프록시로 사용할 수 있습니다. ARR을 프록시로 사용

  7. ARR을 전달 프록시로 전환하는 프로세스를 시작하려면 연결 창에서 서버 노드 클릭합니다.

  8. 서버 창에서 URL 다시 쓰기를 두 번 클릭합니다. URL 재작성

  9. 작업 창에서 규칙 추가를 클릭합니다. 규칙 추가

  10. 규칙 추가 대화 상자에서 빈 규칙을 두 번 클릭합니다. 빈 규칙

  11. 인바운드 규칙 편집 대화 상자에서 이름에 "전달 프록시"를 입력합니다. 일치 URL 영역에서 다음을 입력합니다.

    • 사용: 와일드카드
    • 패턴:*

    스크린샷은 전달 프록시에 대한 인바운드 규칙 편집 대화 상자를 보여줍니다.

  12. 인바운드 규칙 편집 대화 상자의 조건 영역으로 스크롤한 다음 추가...를 클릭합니다. 조건 추가

  13. 조건 추가 대화 상자에서 다음을 선택하거나 입력합니다.

    • 조건 입력: {HTTP_HOST}
    • 형식: 패턴과 일치
    • 패턴:*

    인바운드 규칙 편집

  14. 인바운드 규칙 편집 대화 상자의 작업 영역까지 아래로 스크롤한 다음 다음을 입력합니다.

    • 작업 유형: 다시 쓰기
    • URL 다시 쓰기: http://{C:1}/{R:0}

    스크린샷은 작업 유형 다시 쓰기 및 지정된 다시 쓰기 URL이 있는 인바운드 규칙 편집 대화 상자를 보여줍니다.

  15. 작업 창에서 적용을 클릭합니다.

    참고

    이 규칙을 사용하면 HTTP 메시지가 전달 프록시를 통과할 수 있습니다. ARR은 HTTP CONNECT를 지원하지 않으므로 HTTPS(443) 메시지는 이 전달 프록시에서 지원되지 않습니다.

  16. 애플리케이션, 브라우저 등에서 프록시 설정을 적절하게 구성합니다.