[rabbitmq-discuss] rabbitmq behind nginx

Richard Tier rikatee at gmail.com
Thu May 1 00:13:05 BST 2014


I am trying to setup rabbitmq it can be accessed externally (from 
non-localhost) through nginx.

nginx-rabbitmq.conf:

server {
    listen       5672;
    server_name  x.x.x.x;
    location / {
        proxy_pass http://localhost:55672/;
    }
}

rabbitmq.conf:

[
 {rabbit,
  [
   {tcp_listeners, [{"127.0.0.1", 55672}]}
  ]
 }
]


By default guest user can only interact from localhost, so we need to 
create another user with required permissions, like so:

sudo rabbitmqctl add_user my_user my_password
sudo rabbitmqctl set_permissions my_user ".*" ".*" ".*"

However, when I attempt a connection to rabbitmq through pika I get 
ConnectionClosed exception

import pika
credentials = pika.credentials.PlainCredentials('my_username', 
'my_password')
pika.BlockingConnection(
    pika.ConnectionParameters(host=ip_address, port=55672, 
credentials=credentials)
)

However, if I use the same credentials via localhost and change to port 
5672 then it connects ok:

I have opened port 5672 on the GCE web console, and communication through 
nginx is happening: nginx access.log file shows

[30/Apr/2014:22:59:41 +0000] "AMQP\x00\x00\x09\x01" 400 172 "-" "-" "-"

Which shows a 400 status code response (bad request).

So by the looks the request fails when going through nginx, but works when 
we request rabbitmq directly.

Has anyone else had similar problems/got rabbitmq working for external 
users through nginx? is there a rabbitmq log file where I can see each 
request and help further troubleshooting?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20140430/147bf7a5/attachment.html>


More information about the rabbitmq-discuss mailing list