XMPP/HTTP 게이트웨이는 비XMPP 기반 클라이언트(예: HTML 기반 클라이언트) 및 HTTP 트래픽은 허용하지만 XMPP 트래픽은 허용하지 않는 방화벽 뒤의 클라이언트에 Instant Messaging 액세스를 제공합니다. 게이트웨이는 HTTP 클라이언트를 대신하여 XMPP 서버로 Instant Messaging 트래픽을 프록시합니다.
XMPP/HTTP 게이트웨이는 웹 컨테이너의 webapp로서 Instant Messenger 자원 파일과 함께 배포됩니다.
XMPP/HTTP 게이트웨이를 구성하고 유지 관리하기 위해 이 장에서 다루는 내용은 다음과 같습니다.
XMPP/HTTP 게이트웨이는 구성에 다음 파일을 사용합니다.
게이트웨이 webapp 구성 파일(web.xml). 이 파일의 내용은 사용할 게이트웨이 구성 파일을 결정합니다. 기본 이외의 구성 파일 사용에 대한 내용은 기본 이외의 구성 파일을 사용하도록 Instant Messaging XMPP/HTTP 게이트웨이를 구성하려면을 참조하십시오.
게이트웨이 구성 파일(일반적으로 httpbind.conf). 게이트웨이 구성 지침은 Instant Messaging XMPP/HTTP 게이트웨이 구성을 참조하십시오. httpbind.conf 파일 구문, 파일 위치 및 이 파일의 구성 매개 변수 목록은 부록 B, httpbind.conf의 Instant Messaging XMPP/HTTP 게이트웨이 구성 매개 변수를 참조하십시오.
게이트웨이 로깅 구성 파일(일반적으로 httpbind_log4j.conf). 로깅 구성에 대한 자세한 내용은 XMPP/HTTP 게이트웨이 로깅 관리를 참조하십시오. 로깅 구성 파일 구문은 XMPP/HTTP 게이트웨이 log4j 로그 파일 구성 구문을 참조하십시오.
설치하고 나서 configure 유틸리티를 실행할 때 XMPP/HTTP 게이트웨이를 배포할지 선택할 수 있습니다. 이 게이트웨이가 사용되는 경우 configure 유틸리티는 게이트웨이의 기본 구성 파일(httpbind.conf)을 만듭니다. 이 파일의 값을 수정하면 구성을 변경할 수 있습니다. httpbind.conf 파일 구문, 파일 위치 및 이 파일의 구성 매개 변수 목록에 대한 설명은 부록 B, httpbind.conf의 Instant Messaging XMPP/HTTP 게이트웨이 구성 매개 변수를 참조하거나 이 절에 나오는 지침을 참조하십시오.
초기 구성에서 게이트웨이를 배포하도록 선택하는 경우 configure 유틸리티는im-svr-base/work 디렉토리에 war 파일을 만든 다음 코드베이스에 대해 지정된 디렉토리의 웹 또는 응용 프로그램 서버에 이 파일을 배포합니다.
웹 컨테이너의 클라이언트 자원과 함께 배포되는 web.xml의 값을 수정하면 기본 이외의 구성 파일을 사용하도록 게이트웨이를 구성할 수도 있습니다.
이 절의 지침에서는 게이트웨이 구성 파일이 httpbind.conf라고 가정합니다. 기본 이외의 구성 파일을 사용하는 경우 이 지침에 나오는 httpbind.conf를 해당 구성 파일로 대체하십시오.
httpbind.conf를 변경할 때마다 XMPP/HTTP 게이트웨이를 다시 시작해야 합니다.
이 절에서 설명되는 지침은 다음과 같습니다.
게이트웨이 로깅 구성에 대한 지침은 XMPP/HTTP 게이트웨이 로깅 관리를 참조하십시오.
configure 유틸리티를 실행한 다음 iim.conf의 매개 변수를 설정하여 게이트웨이를 활성화합니다. 나중에 웹 컨테이너 또는 응용프로그램 서버에서 제공되는 도구를 사용하여 이 게이트웨이를 비활성화할 수 있습니다.
게이트웨이를 활성화하려면
configure 유틸리티를 실행합니다.
프롬프트가 메시지가 표시되면 게이트웨이를 배포하도록 선택합니다.
자세한 내용은 1 장, 설치 후 Instant Messaging 구성을 참조하십시오.
iim.conf에서 iim_agent.httpbind.enable 매개 변수를 true로 설정합니다.
예를 들면 다음과 같습니다.
iim_agent.httpbind.enable=true |
게이트웨이를 비활성화하려면 웹 서버 또는 응용 프로로그램 서버에서 제공되는 도구를 사용하여 webapp를 비활성화합니다.
JEP 124 표준 초안을 잘 알고 있어야 합니다. 자세한 내용은 http://www.jabber.org/jeps/jep-0124.html 페이지를 참조하십시오.
httpbind.conf를 엽니다.
이 파일을 찾으려면 httpbind.conf 파일 위치를 참조하십시오.
httpbind.requests 매개 변수를 단일 클라이언트에서 게이트웨이에 보낼 수 있는 최대 동시 요청 수로 설정합니다.
기본값은 2입니다. 예를 들면 다음과 같습니다.
httpbind.requests=2 |
이 숫자는 클라이언트에서 게이트웨이로 보낼 수 있는 동시 요청의 개수입니다. 이 매개 변수 값은 클라이언트 요청의 JEP 124 hold 속성 값보다 작으면 hold+1로 설정됩니다. 성능에 심각한 영향을 미칠 수 있으므로 이 매개 변수를 1로 설정하지 마십시오. httpbind.hold 매개 변수에 대한 자세한 내용은 XMPP/HTTP 게이트웨이에 클라이언트 요청의 JEP 124 hold 속성을 설정하려면 및 표 B–1을 참조하십시오.
httpbind.conf를 저장하고 닫습니다.
웹 서버 또는 응용 프로그램 서버에서 제공되는 도구를 사용하여 게이트웨이를 다시 시작합니다.
JEP 124 표준 초안을 잘 알고 있어야 합니다. 자세한 내용은 http://www.jabber.org/jeps/jep-0124.html 페이지를 참조하십시오.
httpbind.conf를 엽니다.
이 파일을 찾으려면 httpbind.conf 파일 위치를 참조하십시오.
httpbind.hold 매개 변수를 게이트웨이에서 클라이언트 요청의 hold 속성에 허용할 최대값으로 설정합니다.
기본값은 5입니다. 예를 들면 다음과 같습니다.
httpbind.hold=5 |
클라이언트에서 보낸 hold 값이 게이트웨이의 hold 값보다 크면 게이트웨이의 hold 값이 사용됩니다.
httpbind.conf를 저장하고 닫습니다.
웹 서버 또는 응용 프로그램 서버에서 제공되는 도구를 사용하여 게이트웨이를 다시 시작합니다.
httpbind.conf를 엽니다.
이 파일을 찾으려면 httpbind.conf 파일 위치를 참조하십시오.
httpbind.inactivity 매개 변수를 게이트웨이에서 유휴 연결을 종료하는 데 필요한 경과 시간(초)으로 설정합니다.
기본값은 180초입니다. 예를 들면 다음과 같습니다.
httpbind.inactivity=180 |
이 시간이 경과하기 전에 클라이언트에서 게이트웨이를 폴링하지 않으면 게이트웨이에서 연결이 종료됩니다.
httpbind.conf를 저장하고 닫습니다.
웹 서버 또는 응용 프로그램 서버에서 제공되는 도구를 사용하여 게이트웨이를 다시 시작합니다.
httpbind.conf를 엽니다.
이 파일을 찾으려면 httpbind.conf 파일 위치를 참조하십시오.
클라이언트에서 초기 요청에 내용 유형을 지정하지 않은 경우 httpbind.content_type 매개 변수를 게이트웨이에서 사용할 내용 유형으로 설정합니다.
기본값은 text/xml; charset=utf-8입니다. 예를 들면 다음과 같습니다.
httpbind.content_type=text/xml; charset=utf-8 |
httpbind.conf를 저장하고 닫습니다.
웹 서버 또는 응용 프로그램 서버에서 제공되는 도구를 사용하여 게이트웨이를 다시 시작합니다.
왕복 지연 시간은 게이트웨이와 클라이언트 사이의 왕복 지연에 허용되는 초과 시간(초)입니다. 이 값은 네트워크 대기 시간을 산정하는 데 유용합니다.
httpbind.conf를 엽니다.
이 파일을 찾으려면 httpbind.conf 파일 위치를 참조하십시오.
필요에 따라 httpbind.round_trip_delay 매개 변수를 설정합니다.
이 값을 너무 크게 설정하면 성능이 저하될 수 있습니다. 이 값은 초 단위입니다. 기본값은 1초입니다. 예를 들면 다음과 같습니다.
httpbind.round_trip_delay=1 |
이 값을 너무 크게 설정하면 성능이 저하될 수 있습니다. 이 매개 변수는 일반적인 네트워크 대기 시간을 고려한 후에 변경하는 것이 좋습니다.
httpbind.conf를 저장하고 닫습니다.
웹 서버 또는 응용 프로그램 서버에서 제공되는 도구를 사용하여 게이트웨이를 다시 시작합니다.
httpbind.conf를 엽니다.
이 파일을 찾으려면 httpbind.conf 파일 위치를 참조하십시오.
필요에 따라 httpbind.wait_time 매개 변수를 설정합니다.
이 매개 변수로 지정한 시간 내에 클라이언트에서 XMPP/HTTP 게이트웨이로부터 응답을 받을 수 있도록 보장합니다. 이 매개 변수를 설정할 때는 네트워크 속도를 고려하는 것이 좋습니다. XMPP/HTTP 게이트웨이에서 시간 내에 요청을 보내지 못할 수도 있으므로 이 값을 너무 낮게 설정하지 마십시오.
이 값은 초 단위입니다. 기본값은 120초입니다. 예를 들면 다음과 같습니다.
httpbind.wait_time=120 |
클라이언트에 설정된 값이 게이트웨이의 값보다 크면 게이트웨이 대기 시간이 사용됩니다.
httpbind.conf를 저장하고 닫습니다.
웹 서버 또는 응용 프로그램 서버에서 제공되는 도구를 사용하여 게이트웨이를 다시 시작합니다.
httpbind.conf를 엽니다.
이 파일을 찾으려면 httpbind.conf 파일 위치를 참조하십시오.
Instant Messaging 게이트웨이 풀이 있는 배포 환경의 일부로 게이트웨이를 구성하려면 다음과 같이 수행합니다.
게이트웨이 풀에서 게이트웨이가 작동하지 않도록 구성하려면 httpbind.pool.support 매개 변수를 다음과 같이 설정합니다.
httpbind.pool.support=false |
httpbind.conf를 저장하고 닫습니다.
웹 서버 또는 응용 프로그램 서버에서 제공되는 도구를 사용하여 게이트웨이를 다시 시작합니다.
httpbind.conf를 엽니다.
이 파일을 찾으려면 httpbind.conf 파일 위치를 참조하십시오.
httpbind.config 매개 변수를 게이트웨이에서 사용할 아이디 목록으로 설정합니다.
각 도메인마다 별도의 아이디를 이 매개 변수에 지정해야 합니다. 예를 들면 다음과 같습니다.
httpbind.config=gwdomain-id |
여기서 gwdomain-id는 도메인에 사용할 식별자입니다.
예를 들면 다음과 같습니다.
httpbind.config=siroe.com |
지정하는 각 gwdomain-id에 대해 다음 매개 변수를 httpbind.conf 파일에 추가합니다.
gwdomain-id.domain=domain-name gwdomain-id.hosts=gateway-host gwdomain-id.componentjid=component-jid gwdomain-id.password=password |
여기서
gwdomain-id는 이전 단계에서 httpbind.config의 게이트웨이에 대해 지정한 아이디입니다.
domain-name은 식별된 게이트웨이가 실행되는 도메인입니다.
gateway-host는 정규화된 도메인 이름(FQDN)과 이 도메인을 지원하는 게이트웨이 호스트의 포트 번호를 쉼표 또는 공백으로 구분한 목록입니다.
component-jid는 게이트웨이의 구성 요소 JID입니다.
password는 식별된 게이트웨이의 비밀번호입니다.
예를 들어 gwdomain-id가 siroe로 설정된 경우 다음과 같습니다.
siroe.domain=siroe.com siroe.hosts=gateway.siroe.com:5222 siroe.componentjid=http.gateway.siroe.com siroe.password=gatewaypassword |
이러한 키 매개 변수에 대한 자세한 내용은 httpbind.config의 게이트웨이 도메인 아이디 키 매개 변수를 참조하십시오.
httpbind.conf를 저장하고 닫습니다.
웹 서버 또는 응용 프로그램 서버에서 제공되는 도구를 사용하여 게이트웨이를 다시 시작합니다.
XMPP/HTTP 게이트웨이는 보안 통신에 StartTLS만 지원합니다. 멀티플렉서가 레거시 SSL을 사용하도록 구성되어 있으면 서버에 직접 연결하여 멀티플렉서를 우회하도록 게이트웨이를 구성해야 합니다. StartTLS를 사용할 수 있으면 게이트웨이에서 항상 이 프로토콜을 사용하려고 시도합니다. 자세한 내용은 12 장, TLS 및 레거시 SSL에 의한 Instant Messaging 보안을 참조하십시오.
여기서는 다음 섹션에서 설명하는 대로 XMPP/HTTP 게이트웨이의 로깅 수준을 구성하며, 로깅을 완전히 활성화하거나 비활성화하고, 게이트웨이 로그 파일이나 게이트웨이 로그 구성 파일의 위치를 변경할 수 있습니다.
Instant Messaging에서 지원되는 log4j 형식에 대한 자세한 내용은 Apache Logging Services 웹 사이트를 참조하십시오.
다음의 두 가지 방법으로 게이트웨이 로깅을 활성화하거나 비활성화할 수 있습니다.
httbind.conf의 httpbind.log4j.config 매개 변수 값 추가 또는 제거
(권장 사항) log4j 게이트웨이 구성 파일(httpbind_log4j.conf)의 구성 수정
대부분의 환경에서 httpbind_log4j.conf 파일 자체의 구성을 수정하는 한편 httpbind.log4j.config 매개 변수는 httpbind_log4j.conf 파일의 위치로 설정되어 있어야 합니다. 이 절차에서는 httpbind_log4j.conf 파일의 구성을 수정합니다.
httpbind_log4j.conf 파일을 엽니다.
이 파일은 httpbind.conf 파일에서 httpbind.log4j.config 매개 변수 값으로 지정한 위치에 저장되며, 기본적으로 기본 Instant Messaging 인스턴스의 다음 디렉토리에 저장됩니다.
im-cfg-base/httpbind_log4j.conf |
게이트웨이 로깅을 비활성화하려면 log4j.logger.gateway 매개 변수를 다음과 같이 설정합니다.
log4j.logger.gateway=OFF |
게이트웨이 로깅을 활성화하려면 log4j.logger.gateway 매개 변수를 원하는 로깅 수준으로 설정합니다.
예를 들면 다음과 같습니다.
log4j.logger.gateway=ERROR |
사용할 수 있는 유효한 로깅 수준에 대한 목록은 표 13–1을 참조하십시오.
httpbind_log4j.conf를 저장하고 닫습니다.
httpbind.conf를 엽니다.
이 파일을 찾으려면 httpbind.conf 파일 위치를 참조하십시오.
httpbind.log4j.config 매개 변수 값을 XMPP/HTTP 게이트웨이 로그 구성 파일 위치로 설정합니다.
httpbind.conf를 저장하고 닫습니다.
웹 서버 또는 응용 프로그램 서버에서 제공되는 도구를 사용하여 게이트웨이를 다시 시작합니다.
Linux의 경우 XMPP/HTTP 게이트웨이를 설치하고 구성한 후에 httpbind_log4j.conf에서 XMPP/HTTP 게이트웨이에 대한 기본 로그 파일 위치를 수정해야 합니다.
httpbind_log4j.conf 파일을 엽니다.
이 파일은 httpbind.conf 파일에서 httpbind.log4j.config 매개 변수 값으로 지정한 위치에 저장되며, 기본적으로 기본 Instant Messaging 인스턴스의 다음 디렉토리에 저장됩니다.
im-cfg-base/httpbind_log4j.conf |
log4.appender.appender_ID.file 매개 변수 값을 로그 파일 저장 위치로 설정합니다.
Apache Logging Services 웹 사이트에서 설명하는 log4j 구문 및 일반 구현 정보를 잘 알고 있어야 합니다.
httpbind_log4j.conf를 엽니다.
이 파일은 httpbind.conf 파일에서 httpbind.log4j.config 매개 변수 값으로 지정한 위치에 저장되며, 기본적으로 기본 Instant Messaging 인스턴스의 다음 디렉토리에 저장됩니다.
im-cfg-base/httpbind_log4j.conf |
log4j.appender.appender-ID 매개 변수 값을 로그 파일 저장 위치로 설정합니다.
httpbind_log4j.conf를 저장하고 닫습니다.
웹 컨테이너를 다시 시작합니다.
기본 이외의 로그 위치를 사용하도록 선택한 경우 httpbind_log4j.conf에서 XMPP/HTTP 게이트웨이에 대한 기본 로그 파일 위치를 수정해야 합니다.
httpbind_log4j.conf 파일을 엽니다.
이 파일은 httpbind.conf 파일에서 httpbind.log4j.config 매개 변수 값으로 지정한 위치에 저장되며, 기본적으로 기본 Instant Messaging 인스턴스의 다음 디렉토리에 저장됩니다.
im-cfg-base/httpbind_log4j.conf |
log4.appender.appender_ID.file 매개 변수 값을 로그 파일 저장 위치로 설정합니다.
Apache Logging Services 웹 사이트에서 설명하는 log4j 구문 및 일반 구현 정보를 잘 알고 있어야 합니다.
httpbind_log4j.conf를 엽니다.
이 파일은 httpbind.conf 파일에서 httpbind.log4j.config 매개 변수 값으로 지정한 위치에 저장되며, 기본적으로 기본 Instant Messaging 인스턴스의 다음 디렉토리에 저장됩니다.
im-cfg-base/httpbind_log4j.conf |
log4j.logger.gateway 매개 변수를 원하는 로깅 수준으로 설정합니다.
예를 들면 다음과 같습니다.
log4j.logger.gateway=ERROR |
사용할 수 있는 유효한 로깅 수준에 대한 목록은 표 13–1을 참조하십시오.
log4j 구문 및 일반 구현에 대한 자세한 내용은 Apache Logging Services 웹 사이트를 참조하십시오. 게이트웨이 로그 구성 파일 구문은 다음과 같습니다.
log4j.logger.gateway=logging-level, Appender-ID # DEFAULT TO RollingFileAppender log4j.appender.Appender-ID=org.apache.log4j.RollingFileAppender log4j.appender.Appender-ID.file=log-dir/httpbind.log log4j.appender.Appender-ID.append=true|false log4j.appender.Appender-ID.maxBackupIndex=7 log4j.appender.Appender-ID.maxFileSize=max-log-file-size log4j.appender.Appender-ID.layout=org.apache.log4j.PatternLayout log4j.appender.Appender-ID.layout.ConversionPattern=log-entry-syntax |