1. 程式人生 > >ActiveMQ SSL應用之三 ActiveMQ開啟SSL聯結器配置

ActiveMQ SSL應用之三 ActiveMQ開啟SSL聯結器配置

一、主要內容
AcitveMQ通過修改配置檔案,開啟SSL聯結器。

二、操作步驟
tips:ActiveMQ的根目錄我們稱為${activemq.base}
1、將上文生成的兩個檔案broker1.ks,borker1.ts,放在${activemq.base}/conf目錄下。
2、配置檔案為${activemq.base}/conf/activemq.xml,修改的目的是開啟SSL Connector聯結器,並引入剛剛生成的broker.ks和broker.ts檔案,並設定相應的公鑰,私鑰密碼,修改如下:
元素內新增一行

<transportConnector
name="ssl" uri="ssl://0.0.0.0:61617?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600">

在transportConnectors同級元素中(broker元素內)新增sslContext元素:

<sslContext>
    <sslContext keyStore="file:${activemq.base}/conf/broker1.ks"
                keyStorePassword="qwerty"
                trustStore
="file:${activemq.base}/conf/broker1.ts" trustStorePassword="asdfgh" />
</sslContext>

修改後的配置檔案如下所示:

<sslContext>
    <sslContext keyStore="file:${activemq.base}/conf/broker1.ks"
                keyStorePassword="qwerty"
                trustStore="file:${activemq.base}/conf/broker1.ts"
trustStorePassword="asdfgh" />
</sslContext> <!-- The transport connectors expose ActiveMQ over a given protocol to clients and other brokers. For more information, see: http://activemq.apache.org/configuring-transports.html --> <transportConnectors> <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="ssl" uri="ssl://0.0.0.0:61617?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> </transportConnectors>

tips:請注意新增部分,在前一篇生成金鑰檔案時,服務端金鑰檔案密碼為qwerty,客戶端金鑰檔案密碼為asdfgh。

3、啟動驗證
若配置成功,啟動日誌時可以看到如下字樣:
INFO | Listening for connections at: ssl://PC201308222052:61617?maximumConnections=1000&wireFormat.maxFrameSize=104857600
INFO | Connector ssl started
如下圖所示:
這裡寫圖片描述

同時,用127.0.0.1:8161訪問MQ管理控制檯介面(預設登入賬號admin,密碼為admin),Connections選單下可以看到”Connector SSL”這一子專案。
這裡寫圖片描述

若這兩處能看到預期結果,說明ActiveMQ的SSL聯結器已經配置完成,接下來就編寫應用程式進行SSL連線了。

特別注意:
1、ActiveMQ配置檔案的修改方式,不同的版本略有差別,請注意版本相容性,建議從官網查詢配置檔案的修改方法。
2、若activemq啟動時報錯或是沒看到SSL的聯結器顯示,則說明配置不成功,要根據報錯資訊查詢原因並排查清楚。這一步設定必須要正確,否則後面的操作都沒法繼續進行的。