當用戶端應用程式和代理程式之間被防火牆分隔時,需要採取特殊措施來建立連線。一個方法是使用 httpjms 或 httpsjms 連線服務,在防火牆中「打出通道」;如需詳細資訊,請參閱附錄 CHTTP/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 開啟防火牆。