Skip To Content

역방향 프록시 서버를 사용하도록 포털 구성

역방향 프록시 서버는 경계 네트워크(비무장지대[DMZ] 또는 스크린된 서브넷이라고도 함) 내에서 배포되는 컴퓨터로, 인터넷에서 요청을 처리하고 이를 내부 네트워크에 있는 머신으로 전달합니다. 역방향 프록시 서버를 대신하여 요청을 전달하면 조직의 방화벽 뒤에 있는 머신의 ID를 마스크하므로 내부 사용자의 직접 공격으로부터 내부 머신을 보호합니다. 추가 보안 기능이 역방향 프록시 서버에서 구현되어 외부 사용자로부터 내부 네트워크를 추가로 보호할 수 있습니다.

역방향 프록시 서버가 상태 확인 기능을 지원하는 경우에는 Portal for ArcGIS 상태 확인 엔드포인트를 사용하여 요청을 수신하는 데 포털을 사용할 수 있는지를 확인할 수 있습니다. 사이트에서 소프트웨어 또는 하드웨어 오류가 발생했는지를 빠르게 확인하려는 경우 이 기능이 유용합니다. 자세한 내용은 ArcGIS REST API의 포털 상태 확인 항목을 참고하세요.

주의:

이 항목에 설명된 구성은 ArcGIS Server 사이트를 ArcGIS Enterprise 포털과 페더레이션하기 전에 수행해야 합니다. ArcGIS Server 사이트의 페더레이션 해제는 몇 가지 중대한 결과를 초래하며 쉽게 실행 취소되지 않습니다. 자세한 내용은 페더레이션된 서버 관리를 참고하세요.

역방향 프록시 서버에 Portal for ArcGIS 추가

기관의 역방향 프록시 서버에 Portal for ArcGIS를 추가하기 전에 다음 사항을 완료해야 합니다.

  • 역방향 프록시 서버에서 HTTPS(HTTP, HTTPS나 HTTPS 전용)를 구성합니다. Portal for ArcGIS에서는 통신에 HTTPS가 기본 설정으로 사용됩니다. HTTPS를 설정하는 방법은 프록시 서버의 제품 설명서를 참고하세요.
  • 포털에서 Windows 통합 인증을 사용하려는 경우 ArcGIS Web Adaptor를 포털과 페더레이션합니다. Portal for ArcGIS에서는 이러한 용도로 ArcGIS Web Adaptor를 사용해야 합니다. 이렇게 하면 역방향 프록시 서버가 포털과 정상적으로 통신할 수 있습니다. 자세한 내용은 ArcGIS Web Adaptor 구성을 참고하세요.

프록시 서버가 gzip 인코딩을 지원하며 Accept-Encoding 헤더를 허용하도록 구성되었는지 확인합니다. 이 헤더를 통해 gzip 인코딩을 사용하여 HTTP 1.1 응답을 압축할 수 있습니다. 예를 들어 헤더가 허용되는 경우 Map Viewer를 불러오는 요청은 약 1.4MB로 압축된 응답을 브라우저에 반환합니다. 헤더가 허용되지 않거나 무시되는 경우 요청은 약 6.8MB의 압축되지 않은 응답을 브라우저에 반환합니다. 네트워크 속도가 느린 상태에서 응답이 압축되지 않았다면 Map Viewer를 불러오는 데 시간이 오래 걸릴 수 있습니다. 따라서 Esri는 이 헤더를 역방향 프록시 서버 구성의 일부로 허용하는 것을 권장합니다.

ArcGIS Web Adaptor를 프록시 서버 지시문에 추가합니다.

ArcGIS Web Adaptor에서 Portal for ArcGIS를 구성한 후, 컴포넌트를 직접 프록시 서버 지시문에 추가하여 ArcGIS Web Adaptor를 내 기관의 역방향 프록시 서버로 사용할 수 있습니다. 예를 들어 Apache를 역방향 프록시 서버로 사용하는 경우 ArcGIS Web Adaptor를 Apache 웹 서버 구성 파일 httpd.conf에서 ProxyPass 지시문에 추가해야 합니다.

ProxyPass /arcgis https://webadaptorhost.domain.com/webadaptorname
ProxyPassReverse /arcgis https://webadaptorhost.domain.com/webadaptorname

ProxyPass 지시문은 ArcGIS Web Adaptor에 지정된 이름과 일치해야 합니다(위의 샘플에서는 /webadaptorname). 사이트 URL이 기본 문자열 /arcgis로 끝나지 않는 경우 ArcGIS Web Adaptor의 기본값 이외의 이름(예: /myorg)을 지정합니다.

역방향 프록시 준비

포털에 사용할 역방향 프록시 서버를 배포하기 전에 적절한 통신을 보장하기 위해 역방향 프록시 헤더 중 일부를 구성할 것을 권장합니다.

역방향 프록시 서버의 불러오기 구성에서 X-Forwarded-Host 헤더를 설정합니다. Portal for ArcGIS는 역방향 프록시에서 전송한 헤더에 이 속성이 설정되어 있다고 간주하여 역방향 프록시 서버의 URL과 일치하는 요청을 반환합니다.

예를 들어 Portal for ArcGIS REST 엔드포인트에 대한 요청(https://reverseproxy.domain.com/arcgis/sharing/rest)은 동일한 URL로 클라이언트에 반환됩니다. 등록정보가 설정되지 않은 경우 Portal for ArcGIS는 요청이 전달되는 내부 머신의 URL을 반환할 수도 있습니다(예시: https://portal.domain.com/arcgis/sharing/rest대신 https://reverseproxy.domain.com/arcgis/sharing/rest). 클라이언트가 이 URL에 접근할 수 없을 때는 문제가 발생합니다(일반적으로 브라우저 404 오류라고 함). 또한 클라이언트가 내부 머신의 일부 정보에 대한 접근 권한을 부여받게 됩니다.

X-Forwarded-Host 헤더와 함께 역방향 프록시 서버는 재전송(HTTP 코드 301 또는 302)할 수 있어야 합니다. 또한 응답의 정규화된 도메인 이름(FQDN)과 컨텍스트가 포털의 Location 값과 일치하도록 WebContextURL 헤더를 업데이트해야 합니다.

WebContextURL 속성 설정

포털의 WebContextURL 속성을 설정하면 최종 사용자에게 보내는 모든 리소스에서 올바른 URL을 구성할 수 있습니다.

비고:

ArcGIS Web Adaptor를 배포에 사용하지 않는 경우 역방향 프록시 서버의 컨텍스트 이름은 하나의 URL 레벨까지만 설정할 수 있습니다. 예를 들어 https://proxy.domain.com/enterprise와 같은 역방향 프록시 URL은 사용할 수 있지만 https://proxy.domain.com/myorg/enterprise는 역방향 프록시 URL로 사용할 수 없습니다.

WebContextURL을(를) 변경하려면 다음과 같이 하세요.

  1. 웹 브라우저를 열고 ArcGIS Portal Directory에 내 포털 기관의 기본 관리자 역할 구성원으로 로그인합니다. URL의 형식은 https://portal.domain.com:7443/arcgis/portaladmin입니다.
  2. 시스템 > 등록정보 > 등록정보 업데이트를 클릭합니다.
  3. 시스템 등록정보 업데이트 대화 상자에서, 역방향 프록시 서버 또는 내 기관 방화벽의 외부 사용자에게 보이는 DNS 별칭 URL을 대체하면서 다음 JSON을 삽입합니다.
    {
       "WebContextURL": "https://reverseproxy.domain.com/enterprise"
    }
    비고:

    Portal for ArcGIS는 단일 DNS만 지원합니다.

    비고:

    WebContextURL 등록정보를 설정할 때 비표준 포트(즉, 7443 이외의 포트)를 사용할 수 없습니다.

  4. 등록정보 업데이트를 클릭합니다.

관리 작업 다시 실행

포털에서 역방향 프록시 서버를 구성하고 나면 이제 ArcGIS Web Adaptor URL 대신 역방향 프록시 서버 URL을 통해 포털에 접근합니다. 포털 웹 사이트 또는 ArcGIS Portal Directory에서 접근하는 모든 항목이 역방향 프록시 서버 URL을 반환합니다.

다음 관리 작업은 역방향 프록시 서버 URL을 사용하여 다시 완료해야 합니다.

이전에 보안 서비스를 포털에서 항목으로 추가한 경우 기존 항목을 삭제하고 다시 추가해야 합니다. 이는 기존 항목이 역방향 프록시 서버 URL 대신 ArcGIS Web Adaptor URL을 사용하기 때문입니다. 자세한 내용은 보안 서비스 연결을 참고하세요.

포털에 역방향 프록시 서버를 구성한 후에는 서버의 설정을 조정해야 할 수 있습니다. 예를 들어 배포 내의 작업이나 요청이 연결 시간 초과 오류로 실패할 경우 역방향 프록시 서버의 시간 초과 값이 너무 짧은 것이 문제일 수 있습니다. 이 오류를 수정하려면 서버 페더레이션 등의 장기 실행 요청이 완료될 수 있도록 시간 초과 값을 늘려보세요.