2011-08-23 15 views
7

devo box A e ha un consumatore su di esso che in ascolto su un server Coniglio MQBinding indirizzo IP esterno al server di coniglio MQ

Ho scatola B che pubblicherà un messaggio a chi ascolta

Così fintanto che tutto questo sulla casella A e I avvio server Rabbit MQ con valori predefiniti funziona correttamente.

Le impostazioni predefinite sono host = 127.0.0.1 sulla porta 5672, ma quando ho telnet box.a.ip.addy 5672 dalla casella BI get:

Trying box.a.ip.addy... 
telnet: connect to address box.a.ip.addy: No route to host 
telnet: Unable to connect to remote host: No route to host 

telnet sulla porta 22 va bene, posso SSH nel Box a Dalla finestra B

Così ho assumere ho bisogno di cambiare l'ip che il server utilizza RabbitMQ ho trovato questo: http://www.rabbitmq.com/configure.html e ora ho un file di configurazione nella posizione documentazione ha detto di utilizzare, con il nome rabbitmq.config e contiene:

[ 
    {rabbit, [{tcp_listeners, {"box.a.ip.addy", 5672}}]} 
]. 

Quindi ho interrotto il server e avviato nuovamente il server RabbitMQ. E 'fallito. Ecco gli errori dai log degli errori. È un po 'sopra la mia testa. (In realtà la maggior parte di questo è)

=ERROR REPORT==== 23-Aug-2011::14:49:36 === 
FAILED 
Reason: {{case_clause,{{"box.a.ip.addy",5672}}}, 
     [{rabbit_networking,'-boot_tcp/0-lc$^0/1-0-',1}, 
      {rabbit_networking,boot_tcp,0}, 
      {rabbit_networking,boot,0}, 
      {rabbit,'-run_boot_step/1-lc$^1/1-1-',1}, 
      {rabbit,run_boot_step,1}, 
      {rabbit,'-start/2-lc$^0/1-0-',1}, 
      {rabbit,start,2}, 
      {application_master,start_it_old,4}]} 

=INFO REPORT==== 23-Aug-2011::14:49:37 === 
    application: rabbit 
    exited: {bad_return,{{rabbit,start,[normal,[]]}, 
         {'EXIT',{rabbit,failure_during_boot}}}} 
    type: permanent 

e qui è ancora un po 'dal registro start up:

Erlang has closed 
Error: {node_start_failed,normal} 
^M 
Crash dump was written to: erl_crash.dump^M 
Kernel pid terminated (application_controller) ({application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{rabbit,failure_during_boot}}}}})^M 

Aiutateci

+1

Giusto per coprire l'ovvio: usi 'box.a.ip.addy 'quando esegui con successo ssh dalla casella B? –

+0

smh no, non volevo rivelare il mio indirizzo IP – KacieHouser

risposta

9

Hai provato l'aggiunta?

RABBITMQ_NODE_IP_ADDRESS = box.a.ip.addy

al file /etc/rabbitmq/rabbitmq.conf?

Per http://www.rabbitmq.com/configure.html#customise-general-unix-environment

Anche per questa documentazione si afferma che il valore predefinito è di legarsi a tutte le interfacce. Forse c'è un'impostazione di configurazione o una variabile d'ambiente già impostata nel tuo sistema per restringere il server a localhost annullando qualsiasi altra cosa tu faccia.

AGGIORNAMENTO: Dopo aver letto di nuovo mi rendo conto che il telnet avrebbe dovuto restituire "Connessione rifiutata" non "Nessuna via per l'host". Vorrei anche verificare se stai riscontrando un problema relativo al firewall.

+1

Era un problema relativo al firewall, iptables stava lasciando entrare solo la porta 22, grazie: D – KacieHouser

0

è necessario aprire la porta TCP sul firewall

Utilizzo di Linux, Trova le iptables file di configurazione:

[email protected] ~$ find/-name "iptables" 2>/dev/null 
/etc/sysconfig/iptables 

Modificare il file:

sudo vi /etc/sysconfig/iptables 

Fissare la file aggiungendo una porta:

# Generated by iptables-save v1.4.7 on Thu Jan 16 16:43:13 2014 
*filter 
-A INPUT -p tcp -m tcp --dport 15672 -j ACCEPT 
COMMIT