2016-03-23 32 views
0

vmで実行中のrabbitMQサーバーがあります。 私はrabbitMQ javaチュートリアルに従っています。 それは、VM上でローカルに正常に動作しますが、ホストから送信しようとしたとき、私は私が送信コード使用していますされる例外ここrabbitMQ接続がタイムアウトしました

Exception in thread "main" java.net.ConnectException: Connection timed out: connect 
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) 
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
at java.net.PlainSocketImpl.connect(Unknown Source) 
at java.net.SocksSocketImpl.connect(Unknown Source) 
at java.net.Socket.connect(Unknown Source) 
at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:32) 
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:714) 
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:760) 
at Send.main(Send.java:16) 

を得る:

import com.rabbitmq.client.ConnectionFactory; 
import com.rabbitmq.client.Connection; 
import java.util.concurrent.TimeoutException; 
import com.rabbitmq.client.Channel; 

public class Send { 
    private final static String QUEUE_NAME = "hello"; 

    public static void main(String[] args) throws java.io.IOException, TimeoutException { 

      ConnectionFactory factory = new ConnectionFactory(); 
      factory.setHost("192.168.198.100"); 
      factory.setPort(5672); 
      Connection connection = factory.newConnection(); 
      Channel channel = connection.createChannel(); 

      channel.queueDeclare(QUEUE_NAME, false, false, false, null); 
      String message = "Hello World from Windows!"; 
      channel.basicPublish("", QUEUE_NAME, null, message.getBytes()); 
      System.out.println(" [x] Sent '" + message + "'"); 

      channel.close(); 
      connection.close(); 

     } 
    } 

私は192.168でサーバーにpingを実行することができます.198.100私は管理UIにアクセスできません 192.168.198.100:15672/

この問題の原因は何ですか? ありがとうございます。

答えて

2

1.

あなたは資格証明書としてguestguestを使用している、そしてそれは、リモートIPのために許可されていません。

このお読みください:あなたはこれを追加する必要がCan't access RabbitMQ web management interface after fresh install を:

factory.setPassword("test"); 
factory.setUsername("test"); 

2.

あなたは管理UIを有効にしましたか?使用しない場合:

rabbitmq-plugins enable rabbitmq_management 

3.

は、ファイアウォールの設定を確認し、多分、ポート5672と15672を閉じています。あなたは、ポートをテストするためにtelnetを使用することができます :

telnet 192.168.198.100 5672 
Trying 192.168.198.100... 
Connected to 192.168.198.100. 
Escape character is '^]'. 

と:

telnet 192.168.198.100 15672 
Trying 192.168.198.100... 
Connected to 192.168.198.100. 
Escape character is '^]'. 
+0

サーバーのファイアウォールポートが閉じられた実際ありがとうございます。 –

関連する問題