使用HTTPS REST设置ActiveMQ

时间:2014-07-23 15:27:34

标签: activemq

通过关注https://activemq.apache.org/rest.html,我可以通过REST API推送消息(例如curl -u admin:admin -d "body=message" http://localhost:8161/api/message/TEST?type=queue有效,我可以在管理控制台中看到)但是,我希望能够使用HTTPS。我发现https://activemq.apache.org/http-and-https-transports-reference.htmlhttp://troyjsd.blogspot.co.uk/2013/06/activemq-https.html但无法使其正常运行。基于这两个过时/不完整的链接:

所以,

  1. 如何设置ActiveMQ以便它可以与HTTPS REST端点一起使用?
  2. 假设我做了第1步,我该如何测试它(类似上面的curl命令示例)?
  3. 我使用ActiveMQ 5.9.1和Mac OS 10.9.4

1 个答案:

答案 0 :(得分:2)

取消注释conf / jetty.xml的以下部分。

<!--
    Enable this connector if you wish to use https with web console
-->
<!--
<bean id="SecureConnector" class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
    <property name="port" value="8162" />
    <property name="keystore" value="file:${activemq.conf}/broker.ks" />
    <property name="password" value="password" />
</bean>
-->

Jetty不仅支持WebConsole,还支持ActiveMQ中的所有HTTP内容。

它应该开箱即可用于测试,但您可能希望roll your own密钥库/证书可供实际使用。

您可以像以前一样在端口8162上使用curl,因为您提供了&#34;不安全&#34;国旗-k

否则,您需要以pem格式创建信任存储并提供它 - 有关详细信息,请参阅this SO。 Curl接受带有证书的参数--cacert <filename.pem>或在其中发出CA.