Skip To Content

프록시 작업

경우에 따라 Esri Maps for IBM Cognos에서는 내부 프록시 메커니즘을 사용하여 ArcGIS 플랫폼(검색된 ArcGIS 항목에서 참조한 웹 서비스 포함)과의 통신을 중개합니다. 필요에 따라 Esri Maps for IBM Cognos에서는 HTTP 요청을 프록시에 보내며 프록시에서는 해당 요청을 원격 웹 서버(예: ArcGIS)에 전달합니다. 그런 다음 프록시에서는 응답을 다시 Esri Maps for IBM Cognos에 전달합니다.

내부 프록시 메커니즘

Esri Maps for IBM Cognos 및 이 응용프로그램에서 사용되는 모든 데이터와 웹 서비스가 동일한 도메인에 있거나 클라이언트 브라우저와 모든 서버가 CORS(Cross-Origin Resource Sharing)를 지원하는 경우에는 내부 프록시 메커니즘이 사용되지 않습니다. 하지만 대부분의 프로덕션 환경에서는 이 구성이 일반적이지 않으므로 내부 프록시를 구성하는 것이 좋습니다.

CORS가 활성화된 서버 지정(옵션)

대부분의 최신 브라우저에서는 권장 표준인 CORS가 사용됩니다. CORS 표준은 헤더를 HTTP 지정에 추가하여 서버가 웹 브라우저를 사용하여 리소스 및 서비스를 읽을 수 있도록 허용된 일련의 출발지를 나타낼 수 있습니다.

Esri Maps for IBM Cognos에서는 CORS를 사용하는 서버를 아무런 문제 없이 자동으로 감지하여 통신합니다. 하지만 서버에 CORS가 활성화된 경우라도 초기 요청(예: HTTP POST)이 Esri Maps for IBM Cognos 내부 프록시를 통해 자동으로 라우팅되는 경우도 있습니다. Esri Maps for IBM Cognos 관리자는 알려진 CORS 사용 서버의 URL을 Esri Maps for IBM Cognos 구성 파일(settings.js)에 나열하여 해당 위치에서 발생된 모든 호출에 대해서는 자동으로 CORS가 활성화된 것으로 간주하고 프록시를 건너뛰도록 할 수 있습니다.

참고 사항:

corsEnabledServers 등록정보에 기재된 서버의 경우 CORS가 지원되도록 미리 구성되어 있어야 합니다. 서버 URL을 이 목록에 추가하기 전에 실제로 해당 서버에 CORS가 활성화되어 있는지 확인해야 합니다. 이 설정에 지정된 서버에 CORS가 활성화되어 있지 않으면 Esri Maps for IBM Cognos 서버와 통신할 수 없습니다. 자세한 내용은 CORS(Cross-Origin Resource Sharing) 활성화를 참고하세요.

CORS가 활성화된 서버를 지정하려면 다음 단계를 따르세요.

  1. 표준 텍스트 편집기를 사용하여 응용프로그램의 구성 파일을 엽니다.

    구성 파일은 EM4C 게이트웨이의 다음 위치에 있습니다.<em4c_location>\webcontent\esrimap\configuration\settings.js

  2. corsEnabledServers 등록정보에 CORS가 활성화된 서버로 자동 감지될 서버의 URL을 지정합니다.

    각 URL은 따옴표로 묶고 쉼표로 구분해야 합니다.

    예: corsEnabledServers: ["mapserver.mycompany.com", "otherserver.othercompany.com"]

    참고 사항:

    웹-티어 인증을 사용하는 Portal for ArcGIS 인스턴스는 이 목록에 포함할 수 없습니다. 하지만 이러한 인스턴스에서는 프록시 개입 없이 CORS에 대한 자동 감지가 항상 발생합니다.

  3. settings.js 파일을 저장한 후 닫습니다.

내부 프록시 구성

내부 프록시가 최소 사용자 정의 구성으로 사용되도록 설계되어 있지만 해당 설정을 사용자 정의하여 특정 서버에 대한 요청만 허용되도록 할 수 있습니다. 즉, 프록시가 요청을 전달할 리소스를 지정할 수 있습니다.

내부 프록시 설정을 구성하려면 표준 텍스트 편집기를 사용하여 프록시 구성 파일을 수정합니다.

프록시 구성 파일(proxy.conf)은 <em4c_location>\temp\proxy.conf의 EM4C 게이트웨이에 있습니다.

참고 사항:

구현된 Esri Maps for IBM Cognos에 게이트웨이가 둘 이상 포함되어 있는 경우에는 프록시 구성 파일이 게이트웨이마다 업데이트되어야 합니다. 설정은 모든 게이트웨이에서 같아야 합니다.

Esri Maps for IBM Cognos에서 접근할 수 있는 URL을 정의하려면 개별 URL을 각각의 serverUrl 등록정보에 지정합니다. 맵 서비스를 검색하기 위해 Esri Maps for IBM Cognos에서 접근해야 하는 모든 서버에 대해 각각의 serverUrl 등록정보를 생성합니다.

참고 사항:

matchUrls 등록정보를 true로 설정하면 프록시가 분명하게 기재된 서버에만 접근할 수 있도록 지정됩니다. 이 등록정보를 false로 설정하면 프록시가 모든 서버에 접근할 수 있으며 serverUrl로 기재된 서버를 무시합니다.

예를 들면 다음과 같습니다.

matchUrls = true
serverUrl = http://www.arcgis.com
serverUrl = https://arcgis.com
serverUrl = http://myserver.mycompany.com

프록시 테스트

내부 프록시를 테스트하려면 이 프록시를 통해 HTTP 요청을 라우팅합니다. 프록시에서 올바른 값이 반환되면 프록시가 제대로 작동되는 것입니다. 다음의 단계에서는 Esri Maps for IBM Cognos에서 생성되는 HTTP 트래픽을 시뮬레이션하는 호출 예를 제공합니다.

  1. Esri Maps for IBM Cognos 내부 프록시의 위치를 확인하려면 해당 URL을 웹 브라우저의 주소 표시줄에 입력합니다.

    http://myibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi

    내부 프록시에 정상적으로 접근하면 페이지에 시간 스탬프(예: Thu Oct 02 07:34:52 PDT 2014)가 보여집니다. 원하는 응답이 이루어지지 않으면 내부 프록시 구성 설정을 확인하세요.

  2. 알려진 리소스에 연결할 수 있는지 확인합니다.

    예를 들어 다음의 각 URL에서는 서버에 설치된 소프트웨어 버전을 나타내는 JSON 개체를 반환해야 합니다.

    • ArcGIS Online: http://www.arcgis.com/sharing?f=pjson
    • Portal for ArcGIS 인스턴스: http://myPortal/gis/sharing/?f=pjson

  3. 내부 프록시를 통해 트래픽을 라우팅합니다.

    예를 들어 다음의 각 URL에서는 서버에 설치된 소프트웨어 버전을 나타내는 JSON 개체를 반환해야 합니다.

    • ArcGIS Online: http://ibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi?http://www.arcgis.com/sharing?f=pjson
    • Portal for ArcGIS 인스턴스: http://ibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi?http://myPortal/gis/sharing/?f=pjson

    참고 사항:

    내부 프록시에 대한 호출을 라우팅했을 때 잘못된 결과가 반환되면 업스트림 프록시를 사용하여 리소스에 접근해야 합니다. 이 경우에는 업스트림 프록시를 구성하고 이 섹션의 테스트를 다시 실행합니다. 내부 프록시는 업스트림 프록시를 통해 트래픽을 라우팅하고 원하는 결과를 웹 브라우저에 반환합니다. 자세한 내용은 선택적 업스트림 프록시 구성을 참고하세요.

    원하는 결과를 얻음으로써 프록시가 제대로 구성되어 작동되는 것을 확인할 수 있습니다.

선택적 업스트림 프록시 구성

Esri Maps for IBM Cognos에서 내부 프록시를 사용해야 하는 경우 내부 프록시는 HTTP 요청을 원하는 대상 리소스(예: 맵 서비스)로 전달할 수 있어야 합니다. 하지만 일부 환경에서는 방화벽 규칙에 의해 이러한 요청이 전송되지 않습니다. 예를 들어 방화벽에 의해 HTTP 트래픽이 내부 네트워크를 떠나지 못할 수 있습니다.

이 문제는 업스트림 전달 프록시를 구성하여 해결할 수 있습니다.

업스트림 프록시를 사용하면 내부 네트워크의 보안을 그대로 유지하면서 네트워크 외부 연결이 가능합니다. 한 가지 일반적인 업스트림 프록시 사용 방법은 프록시 서버를 경계 네트워크에 배치하여 내부 네트워크를 보호하는 것입니다.

선택적 업스트림 프록시 서버를 경계 네트워크에 배치하여 내부 네트워크 보호

업스트림 프록시는 서드 파티(Esri 이외)의 엔터프라이즈 수준 솔루션이며 Esri Maps for IBM Cognos의 일부가 아닙니다.

참고 사항:

Esri Maps for IBM Cognos에서는 인증이 필요한 업스트림 프록시 서버를 지원하지 않습니다.

Esri Maps for IBM Cognos 프록시 구성 파일에는 업스트림 프록시를 구성할 수 있는 등록정보가 포함되어 있습니다.

업스트림 프록시 설정을 구성하려면 표준 텍스트 편집기를 사용하여 프록시 구성 파일을 수정합니다.

  1. upStreamProxy 등록정보를 true에 설정합니다.
  2. 다음 규칙을 사용하여 upStreamProxyUrl 등록정보를 지정합니다.
    http://<address>:<port>

    여기서 각 항목 정보는 다음과 같습니다.

    • address - 프록시 서버의 주소로, 예를 들면 proxy.mycompany.com 등입니다.
    • port - 프록시 서버에 할당된 포트 번호로, 예를 들면 8888 등입니다.

    예:

    upStreamProxy = true
    upStreamProxyUrl = http://proxy.mycompany.com:8888

    참고 사항:

    IP 주소를 사용하여 프록시 서버의 위치를 지정할 경우에는 선행 0을 입력할 수 없습니다. 예를 들어 130.025.000.001 대신 130.25.0.1을 입력합니다.

    프록시 서버의 웹 주소나 포트 번호를 모를 경우에는 네트워크 관리자에게 문의하세요.

  3. 업스트림 프록시를 테스트하려면 내부 프록시를 통해 요청을 라우팅한 다음 호출이 업스트림 프록시를 통해 라우팅되는지 확인합니다. 자세한 내용은 프록시 테스트를 참고하세요.