방화벽을 사용하여 클라이언트 응용 프로그램을 브로커와 분리하면 연결 설정을 위해 특별한 조치가 필요합니다. 한 가지 방법으로 httpjms 또는 httpsjms 연결 서비스를 사용하여 방화벽을 통해 "터널"을 생성할 수 있습니다. 자세한 내용은 부록 C, HTTP/HTTPS 지원을 참조하십시오. HTTP 연결은 다른 연결 서비스보다 더 느립니다. 그러나 그 보다 빠른 방법은 Message Queue 포트 매퍼를 우외하고 원하는 연결 서비스에 정적 포트 주소를 명시적으로 할당한 다음 방화벽에서 해당 포트를 여는 것입니다. 이 방법을 사용하면 jms 또는 ssljms 연결 서비스(또는 admin 또는 ssladmin)를 사용하여 방화벽을 통해 연결할 수 있습니다.
표 7–8 정적 포트 주소에 대한 브로커 구성 등록 정보
연결 서비스 |
구성 등록 정보 |
---|---|
jms |
imq.jms.tcp.port |
ssljms |
imq.ssljms.tls.port |
admin |
imq.admin.tcp.port |
ssladmin |
imq.ssladmin.tls.port |
사용할 연결 서비스에 정적 포트 주소를 할당합니다.
포트 매퍼를 우회하고 연결 서비스에 정적 포트 번호를 직접 할당하려면 브로커 구성 등록 정보 imq.serviceName. protocolType.port를 설정합니다. 여기서 serviceName은 연결 서비스의 이름이고 protocolType은 해당 프로토콜 유형입니다(표 7–8 참조). 브로커 구성 등록 정보와 마찬가지로 브로커를 시작할 때 명령줄에서 또는 브로커의 인스턴스 구성 파일에서 이 등록 정보를 지정할 수 있습니다. 예를 들어, 포트 번호 10234를 jms 연결 서비스에 할당하려면
imq.jms.tcp.port=10234
행을 구성 파일에 포함시키거나 다음 명령을 사용하여 브로커를 시작합니다.
imqbrokerd -name myBroker -Dimq.jms.tcp.port=10234
연결 서비스에 할당된 포트 번호에 연결할 수 있도록 방화벽을 구성합니다.
또한 방화벽을 통해 Message Queue의 포트 매퍼 포트(포트 매퍼를 다른 포트에 다시 할당하지 않은 경우 일반적으로 7676)에 연결할 수 있어야 합니다. 위 예에서 포트 10234 및 7676에 대해 방화벽을 열어야 합니다.