当前位置: 首页 > 知识库问答 >
问题:

如何在ActiveMQ Artemis集群上配置SSL

薛楷
2023-03-14
      <connectors>
         <connector name="netty-connector">tcp://server1:61616</connector>
      </connectors>
        
      <acceptors>
         <acceptor name="artemis">tcp://0.0.0.0:61616?protocols=CORE,AMQP,STOMP,HORNETQ,OPENWIRE</acceptor>
      </acceptors>
     <connectors>
        <connector name="netty-connector">tcp://server2:61616</connector>
     </connectors>
        
     <acceptors>
        <acceptor name="artemis">tcp://0.0.0.0:61616?protocols=CORE,AMQP,STOMP,HORNETQ,OPENWIRE</acceptor>
     </acceptors>

我尝试了这个设置:

服务器1:

      <connectors>
         <connector name="netty-connector">tcp://server1:61616?enabledProtocols=TLSv1.2;sslEnabled=true;trustStorePath=client-ca-truststore.jks;trustStorePassword=securepass</connector>
      </connectors>
        
      <acceptors>
         <acceptor name="artemis">tcp://0.0.0.0:61616?protocols=CORE,AMQP,STOMP,HORNETQ,OPENWIRE;sslEnabled=true;needClientAuth=true;keyStorePath=server1-keystore.jks;keyStorePassword=securepass</acceptor>
      </acceptors>

服务器2:

     <connectors>
        <connector name="netty-connector">tcp://server2:61616?enabledProtocols=TLSv1.2;sslEnabled=true;trustStorePath=client-ca-truststore.jks;trustStorePassword=securepass</connector>
     </connectors>
        
     <acceptors>
         <acceptor name="artemis">tcp://0.0.0.0:61616?protocols=CORE,AMQP,STOMP,HORNETQ,OPENWIRE;sslEnabled=true;needClientAuth=true;keyStorePath=server2-keystore.jks;keyStorePassword=securepass</acceptor>
     </acceptors>
WARN 57399 --- [Thread-7 (activemq-netty-threads)] org.apache.activemq.artemis.core.server : AMQ222208: SSL handshake failed for client from /10.96.1.102:35944: javax.net.ssl.SSLHandshakeException: Empty client certificate chain.
ERROR 60482 --- [Thread-0 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@7b3af62e)] org.apache.activemq.artemis.core.client : AMQ214016: Failed to create netty connection
java.lang.IllegalStateException: No ActiveMQChannelHandler has been found while connecting to server1/10.96.1.6:61616 from Channel with id = b4c31575
WARN 60482 --- [Thread-1 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@7b3af62e)] org.apache.activemq.artemis.core.server : AMQ222186: unable to authorise cluster control: AMQ219016: Connection failure detected. Unblocking a blocking call that will never get a response

是设置不正确,还是证书有问题?

组织中以前的Artemis设置有相互的SSL,但是对于我的用例来说,双向身份验证没有任何好处。由于我的设置不起作用,我再次添加了它,但我认为它只是强制客户端通过用户/密码进行身份验证。

共有1个答案

晋涛
2023-03-14

由于使用的是自签名证书,因此需要在接受器上指定KeystorePathKeystorePassword,在连接器上指定TruststorePathTruststorePassword。当然,两者都需要sslenabled=true

代理附带了一个示例,该示例在examples/features/standard/ssl-enabled目录中使用自签名证书。这实质上演示了这个用例需要什么,尽管与您正在做的方式略有不同。只需将示例中的客户机视为集群用例中的连接器,因为它就是这样。文档中甚至有关于如何生成所有SSL资源的命令。

在尝试的配置中,您在接受者上指定了needclientauth=true,这几乎肯定会导致问题。此设置用于启用“相互”(即双向)SSL,但您的问题对此只字不提。我不相信你需要这个。我建议你把它移除。

 类似资料:
  • 拜托,我需要你的帮助。 自上周以来,我一直在努力尝试在Windows服务器上配置兔子MQ集群。我重新安装了 RabbitMQ 3.7.8 和 ErlangOTP 21-1 超过 15 次,试图找出问题并修复它,但不幸的是,我所有的尝试都失败了。 我的环境: 三个虚拟机与操作系统: Windows 服务器 2012 环境变量设置: 安装步骤:(针对每台服务器) 完成以上服务器的安装后,我开始配置集群

  • 在RoR4 Heroku应用程序上配置Puma(多线程多核服务器)时,我需要一些帮助。那上面的Heroku文档不是最新的。我遵循了这一条:配置的并发性和数据库连接,其中没有提到集群的配置,因此我必须同时使用这两种类型(线程和多核)。 我目前的配置: /程序文件 ./config/puma.rb 问题: a) 我是否需要像Unicorn中那样的before\u fork/after\u fork配置

  • 我一直在关注Kafka Quickstart在一台机器上“设置多代理集群”。(只是为了测试目的)。 用三个属性文件运行Kafka效果良好。(我在一台机器上运行它们进行测试) 1)我是为三台机器运行三个Zookeeper?使用相同的端口(2181)?还是只在一台机器上运行一个Zookeeper? 2)当我使用server.properties运行Kafka时,我知道每台机器应该有不同的broker.

  • 我们有一个私人库伯内特集群。我们正在尝试按照这些快速入门说明安装Solace。https://github.com/solaceproducts/solace-kubernetes-quickstart solace helm海图安装步骤如下: 快速的堆栈搜索似乎表明这是因为loadbalancer希望在云内部使用外部负载均衡器: kubernetes服务外部ip挂起 此外,其中一个答案建议在使用

  • 本文档介绍了如何配置生产可用的 TiDB 集群。涵盖以下内容: 资源配置 部署前需要根据实际情况和需求,为 TiDB 集群各个组件配置资源,其中 PD、TiKV、TiDB 是 TiDB 集群的核心服务组件,在生产环境下它们的资源配置还需要按组件要求指定,具体参考:资源配置推荐。 为了保证 TiDB 集群的组件在 Kubernetes 中合理的调度和稳定的运行,建议为其设置 Guaranteed 级

  • 3.3 配置Nginx集群 本节介绍如何配置Nginx服务器集群。 同一个Nginx服务器集群下的多台Nginx服务器,配置文件都是完全一致的。多个站点对应一个Nginx服务器集群,建议按照站点流量进行划分,让多个Nginx集群的流量尽量均匀。 请确保添加的Nginx服务器,已经安装好并正在运行Dengine及camel-agent。 1.点击引导页面的“点击新增Nginx集群”按钮 2.在对话框