2017-05-24 2 views
0

Je lance un conteneur karaf sur un serveur AWS. Avec un petit programme Java, je peux accéder localement aux données JMX via le service d'URL de service: jmx: rmi: //127.0.0.1: 44444/jndi/rmi: //127.0.0.1: 1099/karaf-root Connexion est sécurisé avec nom d'utilisateur et mot de passeComment accéder au JMX d'un conteneur karaf à partir d'un emplacement distant

Mais je ne peux pas y accéder à distance, par exemple de mon PC au serveur AWS.

  • Je l'ai déjà essayé de configurer le droit IP du serveur pour JMX dans karaf et bien sûr dans l'URL du service (au lieu de 0.0.0.0, qui devrait créer un lien vers toutes les adresses IP du serveur, non?)
  • J'ai ouvert tous les ports du serveur pour les tests, mais aucune connexion soit
  • I tunneled ports 1099 et 44444 via une connexion SSH
  • J'ai essayé tunnel ports supplémentaires du processus de karaf écoute

Rien a aidé si f ar.

configuration actuelle de karaf à org.apache.karaf.management.cfg:

rmiRegistryPort = 1099 
rmiRegistryHost = 0.0.0.0 (tested 127.0.0.1 and the correct IP of the server) 
rmiServerPort = 44444 
rmiServerHost = 0.0.0.0 (tested 127.0.0.1 and the correct IP of the server) 
serviceUrl = service:jmx:rmi://${rmiServerHost}:${rmiServerPort}/jndi/rmi://${rmiRegistryHost}:${rmiRegistryPort}/karaf-${karaf.name} 
authenticatorType = password 
secured = false 

message d'erreur actuelle est:

java.rmi.ConnectException: Connection refused to host: 172.31.28.52; nested exception is: 
java.net.ConnectException: Connection timed out: connect 
java.rmi.ConnectException: Connection refused to host: 172.31.28.52; nested exception is: 
java.net.ConnectException: Connection timed out: connect 

Ai-je raté quelque chose? Y a-t-il une configuration susceptible de bloquer les demandes provenant de l'extérieur du serveur?

Répondre

0

On dirait que je me suis concentré sur le mauvais bout de la corde ici.

Le problème était l'AWS lui-même, car le serveur ne connaît que son adresse IP locale.

Si vous configurez l'option JAVA

java.rmi.server.hostname=<public EC2 hostname> 

en $ KARAF_HOME/etc/system.properties, la connexion peut être établie.