Доступ к ActiveMQ JMX через SSL

Я пытаюсь получить доступ JMX с поддержкой SSL к ActiveMQ (5.8.0 или 5.9.0 под управлением Java 1.6.0), но мне не везет. В прошлом я имел дело с JMX-доступом с поддержкой SSL, поэтому я хорошо знаком с настройкой хранилищ ключей, доверенных сертификатов и т. Д. Все наши серверы расположены в AWS, поэтому нам приходится иметь дело с пробиванием дыр через брандмауэры. Я могу получить незашифрованный JMX, работающий на нашем сервере ActiveMQ, указав в файле activemq.xml следующее:

<managementContext>
    <managementContext connectorPort="1099" rmiServerPort="1098" connectorHost="<local IP of AWS instance>" />
</managementContext>

А также указав следующие параметры Java при запуске ActiveMQ:

 -Dcom.sun.management.jmxremote 
 -Dcom.sun.management.jmxremote.password.file=/path/to/jmx.passwd 
 -Dcom.sun.management.jmxremote.access.file=/path/to/jmx.access 
 -Djava.rmi.server.hostname=<public IP of AWS instance>

У controlContext, по-видимому, нет параметров для поддержки SSL, поэтому я пытаюсь также включить следующее в мою командную строку Java (которая прекрасно работает с другими нашими приложениями Java для доступа к JMX через SSL):

-Dcom.sun.management.jmxremote.ssl=true 
-Djavax.net.ssl.keyStore=/path/to/keystore 
-Djavax.net.ssl.trustStore=/path/to/truststore 
-Djavax.net.ssl.keyStorePassword=<password> 
-Djavax.net.ssl.trustStorePassword=<password> 
-Dcom.sun.management.jmxremote.ssl.need.client.auth=false

Похоже, что ActiveMQ просто игнорирует эти настройки. Если я использую команду "openssl s_client -connect:" для запроса порта RMI-сервера процесса java, где работает JMX/SSL, то он отображает все подробности об используемом сертификате. Однако, если я запускаю команду для порта сервера ActiveMQ RMI, я получаю сообщение о том, что нет сертификата однорангового узла.

Можно ли зашифровать SSL-доступ JMX к ActiveMQ или мне не повезло, так как оказалось, что их managementContext не поддерживает его?

0 ответов

Другие вопросы по тегам