2017-05-24 43 views
0

我在AWS服务器上运行karaf容器。 通过一个小小的Java程序,我可以通过服务URL服务在本地访问它的JMX数据:jmx:rmi://127.0.0.1:44444/jndi/rmi://127.0.0.1:1099/karaf-root 登录用用户名和密码保护如何从远程位置访问karaf容器的JMX

但我无法远程访问它,例如从我的电脑到AWS服务器。

  • 我已经尝试过在karaf当然在服务URL的配置服务器的IP权的JMX(而不是0.0.0.0,应该链接到服务器的所有IP,对吧?)
  • 我打开服务器进行测试的所有端口,但没有连接任何
  • 我通过SSH连接隧道端口1099和44444
  • 我试图隧道额外的端口karaf进程监听到

没有什么帮助,使f AR。在org.apache.karaf.management.cfg

当前karaf配置:

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 

当前的错误消息是:

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 

我错过了什么? 有没有可能阻止来自实际服务器之外的请求的配置?

回答

0

好像我在这里专注于绳子的错误端。

问题在于AWS本身,因为服务器只知道它的本地IP。

如果配置了JAVA选项

java.rmi.server.hostname=<public EC2 hostname> 
在$ KARAF_HOME的/ etc/system.properties

中,可以建立连接。