리버스 프록시, IP 스프레이어 또는 로드 밸런서 사용

이 주제의 다이어그램은 사용자의 DMZ에 있는 리버스 프록시가 있고 모바일 디바이스 클라이언트에 대한 인증 서비스를 제공하는 네트워크 토폴로지를 보여줍니다.

첫 번째 다이어그램은 이 토폴로지의 독립형 IBM Traveler 서버를 표시합니다.

리버스 프록시

두 번째 다이어그램은 IBM Traveler 서버의 고가용성(HA) 풀과 동일한 네트워크 토폴로지를 표시합니다. 이 경우 디바이스 요청의 스프레이 또는 로드 밸런싱 기능은 신뢰되는 도메인에 있는 별도의 서버가 제공합니다.

리버스 프록시 HA

세 번째 다이어그램은 또한 IBM Traveler 서버의 HA 풀에 대한 모바일 요청을 스프레이하는 기능을 제공하는 인증 프록시가 있는 네트워크 토폴로지를 표시합니다. IBM® Mobile Connect는 인증 프록시 및 요청 스프레이 기능을 제공할 수 있습니다.

리버스 프록시 HA 스프레이어

이 네트워크 토폴로지는 VPN 토폴로지와 같이 많은 융통성을 허용하지 않습니다. 하지만 인터넷 또는 DMZ 구역에 IBM Domino® 서버 인프라를 노출하지 않는 보안 네트워크 구현을 제공합니다.

IBM Traveler는 몇 개의 리버스 프록시 제품에 대해 테스트되었지만 표준 리버스 프록시 기능을 제공하는 대부분의 제품이 적합해야 합니다. 다음은 리버스 프록시를 선택할 때 고려해야 할 몇 가지 항목입니다.

  • 리버스 프록시가 네트워크에 있는 모바일 디바이스 클라이언트 수와 동일한 장기 실행 HTTP 연결 수를 지원할 수 있는지 확인하십시오. 모바일 디바이스에서 푸시를 사용하는 경우, 해당 디바이스는 서버에 대한 HTTP 또는 HTTPS 요청을 열고 이 요청은 제한시간이 발생하거나 새 데이터가 도착할 때까지 열린 상태로 유지됩니다. 이는 HTTP 또는 HTTPS 연결 수가 온라인 상태의 디바이스 수와 동일하거나 약간 많은 것을 의미합니다. 이 모델은 웹 브라우저와 다릅니다. 일반적으로 웹 브라우저는 연결을 열어서 웹 페이지나 이미지를 검색한 후 요청이 완료되면 즉시 연결을 닫습니다.
  • 리버스 프록시가 모바일 디바이스 신임 정보를 인증하려는 경우, 사용자 신임 정보의 인증 실패에 대한 HTTP 401 응답 코드를 리턴할 수 있어야 합니다. 프록시는 HTTP 200(OK) 응답으로 사용자 중심 웹 페이지를 모바일 디바이스에 리턴하지 않습니다. 모바일 디바이스의 동기화 클라이언트가 사용자 중심 웹 페이지 또는 양식을 해석할 수 없기 때문입니다. 그 대신, 클라이언트는 권한 부여 실패를 표시하는 표준 인터넷 응답 코드에 의존합니다.
  • 디바이스에서 IBM Traveler 서버로 이어지는 연결은 HTTP GET, POST 및 OPTIONS 메소드를 사용합니다. 세 메소드 모두 허용되는지 확인하십시오.
  • 웹 관리 클라이언트는 HTTP GET, POST, PUT 및 DELETE 메소드가 필요합니다. IBM> Traveler 서버의 웹 기반 관리를 수행하는 데 프록시를 사용하는 경우 네 가지 메소드가 모두 허용되는지 확인하십시오.
  • 디바이스의 HTTP 또는 HTTPS 연결을 실행하는 데 시간이 오래 소요될 수 있으므로(푸시 연결에 대해 최대 30분) 이 시간 동안 연결이 미해결 상태를 유지할 수 있고 제한시간 초과가 더 빨리 발생하지 않는지 확인하십시오.
  • HTTP OPTIONS 응답이 리버스 프록시가 아닌 IBM Traveler 서버에서 제공되는지 확인하십시오.
  • HTTP 449 응답이 다른 HTTP 응답(예: 500)으로 변경되지 않았는지 확인하십시오.
  • 여러 HTTP 500 응답 후 일부 디바이스가 모든 데이터를 다시 동기화하기 때문에 HTTP 500 응답을 방지하십시오. 대개는 HTTP 503 응답을 대신 사용할 수 있습니다.
  • 디바이스가 응답에서 POST를 GET으로 변경시키는 경우가 종종 있으므로 HTTP 301 및 302 재지정은 하지 마십시오. GET은 정의에 따라 본문을 포함하지 않으므로 POST에 있던 본문이 누락됩니다.
  • 프록시 서버는 URL을 인코드 또는 디코드하지 않아야 합니다. IBM Traveler 서버로 들어가거나 나가는 모든 URL은 이미 적절하게 인코딩되어 있어야 합니다. URL을 두 번 인코딩하면 URL 인수를 손상시켜서 사용할 수 없도록 만들게 됩니다.
  • 일부 모바일 디바이스 관리(MDM) 솔루션은 프록시를 사용하여 모바일 디바이스와 IBM Traveler 간의 통신을 제어합니다. MDM 솔루션을 사용하는 경우 모바일 디바이스에서 모든 IBM Traveler 애플리케이션을 지원할 수 있는지 MDM 벤더에게 확인하거나 MDM 벤더가 지원하는 내용에 대해 알려진 제한사항이 있는지 판별하십시오. IBM Traveler가 지원하는 애플리케이션은 Exchange ActiveSync 및 SyncML을 포함하여 다양한 통신 프로토콜을 사용합니다. 일반 HTTP 프록시는 근본적인 데이터 플로우를 검토하지 않지만 일부 MDM 솔루션은 지원을 위해 특정한 기본적인 프로토콜이 필요합니다. Android용 IBM Traveler, iOS 디바이스용 IBM Traveler 작업관리, Traveler Companion은 Exchange ActiveSync 프로토콜을 사용하지 않으며 Exchange ActiveSync를 사용하는 애플리케이션만 지원하는 MDM 벤더에서는 지원하지 않을 수도 있습니다.
  • /Microsoft-Server-ActiveSync*, /servlet/traveler*, /traveler* 코드는 모두 IBM Traveler에 전달되어야 하며 특별히 어떤 항목에 맵핑할 필요가 없습니다(필요에 따라 Domino HTTP는 맵핑을 수행함).
리버스 프록시를 사용할 때 관리자는 서버 문서 설정의 설명에 따라 IBM Traveler 서버 문서에서 외부 URL을 설정했는지 확인해야 합니다.
참고: MobileIron을 사용 중이며 IBM Traveler ToDo 및 IBM Traveler Companion을 설정 중인 경우, 외부 URL 설정의 설정 방법에 대한 고려사항은 이 기사를 참조하십시오.

테스트된 환경

  • IBM Mobile Connect 6.1. 인트라넷 내의 전용 서버 자원에 HTTP 또는 HTTPS를 사용하여 모바일 디바이스의 경유로 기능하는 HTTP 액세스 서비스를 제공합니다. 자세한 정보는 IBM Mobile Connect 문서에서 "HTTP 액세스 서비스" 주제를 참조하십시오.
  • IBM Websphere Edge 서버 버전 6.1

IBM Traveler 사용자 정의 HTTP 헤더

다음은 IBM Traveler가 사용하는 사용자 정의 HTTP 헤더의 목록입니다. 일반적으로 프록시는 HTTP 응답 헤더를 제거하지 않아야 하지만 일부 헤더를 제거하려는 경우 아래의 목록에 포함되지 않았는지 확인하십시오.
  • X-IBM-BusySignal
  • X-IBM-GETSTATUS
  • X-IBM-GENERATEDEVICECONFIG
  • X-IBM-PW-EXPIRATION
  • X-IBM-TRAVELER-COMMANDS
  • X-IBM-TRAVELER-HOST
  • X-IBM-TRAVELER-HTTP-TIME
  • X-IBM-TRAVELER-ERROR-MESSAGE
  • X-IBM-TRAVELER-PUSH-HTTP

IBM Traveler 리턴 코드

다음은 IBM Traveler 서버에서 사용되는 리턴 코드의 전체 목록입니다. 사용 중인 네트워크 장비가 이들 리턴 코드를 인터셉트하거나 변경하지 않아야 합니다.
  • 200 정상
  • 401 인증 필수 또는 실패
  • 403 액세스 금지
  • 404 요청을 찾을 수 없음
  • 408 동기화 제한시간 초과
  • 409 동기화 재개(제한시간 초과 후)
  • 449 프로비저닝
  • 500 일반 서버 오류
  • 503 서버 사용 중