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&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&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ssl" uri="ssl://0.0.0.0:61617?maximumConnections=1000&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的聯結器顯示,則說明配置不成功,要根據報錯資訊查詢原因並排查清楚。這一步設定必須要正確,否則後面的操作都沒法繼續進行的。