Deploy ARR as Reverse Proxy for Exchange

오래전에 ForeFront TMG (이전의 ISA)는 Exchange Server를 포함하는 많은 applications을 위한 Microsoft의 Reverse Proxy 솔루션을 사용되었으나 더 이상의 제품에 대한 road map이 없어 유지 관리가 어렵습니다.

3rd party Reverse Proxy를 사용할 수도 있으나 Windows Server 기반의 IIS에 Application Request Routing (ARR)과 URL Rewrite 모듈을 통해 복잡하고 유연한 load balancing 및 reverse proxy 구현이 가능합니다.

아래의 그림은 ARR을 어떻게 구현할 수 있는지를 보여주는 아키텍처입니다:

R-Proxy for Exchange

[!INFO]
Exchange 서버로의 Clients 액세스 또는 Exchange Hybrid 환경에서 Exchange Online에서 Exchange 서버의 EWS 액세스를 ARR을 통해 가능하게 해줄 수 있습니다.

Prerequisites

Installing ARR

ARR은 Windows Server 2008 이상의 IIS를 필요로 합니다. Windows Server 2016이나 _Windows Server 2019_에서 정상적으로 배포 및 동작하는 것을 확인하였습니다.

  1. .NET 및 Tracing을 포함한 IIS를 설치합니다.

     # in Windows Server 2016
        
     Add-WindowsFeature  Web-Static-Content `
                         Web-Default-Doc `
                         Web-Dir-Browsing `
                         Web-Http-Errors `
                         Web-Http-Logging `
                         Web-Request-Monitor `
                         Web-Http-Tracing `
                         Web-Filtering `
                         Web-Stat-Compression `
                         Web-Mgmt-Console `                
                         NET-Framework-45-Core `
                         NET-WCF-HTTP-Activation45
        
    
  2. Microsoft Application Request Routing 모듈과 IIS URL Rewrite 모듈 다운로드 및 설치

    1. IIS URL Rewrite Module 2
    2. Web Farm Framework
    3. Microsoft Application Request Routing 3.0
    4. Microsoft External Cache
  3. Server Certificate 설치

    Server Certificate에는 올바른 Subject Name 또는 SAN에 호스팅하는 Exchange Web Services의 URL을 포함하고 있어야 합니다.

  4. Server Farm 생성

  5. Server Farm 구성 변경

    1. Disable Disk Cache
    2. Health Test: 올바른 URL(autodiscover 및 EWS, OAB 등)과 Interval(5 seconds), Time-Out(30 seconds), Acceptable Status Code(200) 설정
    3. Load Balance: Least Current Request
    4. Proxy: Time-Out(200 seconds)과 Response Buffer threshold(0) 설정
    5. Routing Rules: Enable SSL Offloading 해제

    Server Farm Configuration

  6. URL Rewrite Rules 생성

    URL Rewrite Rules

  7. Request Filtering 설정

    Request Filtering Config

[!TODO] …

[!REF] Reverse Proxy for Exchange Server 2013 using IIS ARR

[!REF]