2017-05-24 15 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에 액세스하는 방법

하지만 원격으로 액세스 할 수 없습니다. 내 PC에서 AWS 서버로.

  • 는 이미 (오른쪽, 서버의 모든 IP에 연결되어야 대신 0.0.0.0의?) karaf와 서비스 URL에 물론 JMX에 대한 서버의 올바른 IP 구성을 시도
  • 내가 테스트를 위해 서버의 모든 포트를 열어 있지만 연결 중 하나
  • 나는 내가 karaf 과정이 F 있도록 도왔다

아무것도 수신 터널링 추가 포트를 시도

  • SSH 연결을 통해 포트를 1099 및 44444을 터널링하지 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

    내가 여기에서 로프의 끝 부분에 집중하고있는 것처럼 보입니다.

    서버가 로컬 IP 만 알고 있기 때문에 문제는 AWS 자체입니다.

    는 당신이 JAVA 옵션 $ KARAF_HOME을/etc/system.properties에서

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

    를 구성 할 경우, 연결이 설정 될 수있다.