[rabbitmq-discuss] RABBITMQ_SERVER_ERL_ARGS overridden for debugging purposes only?

Bryan Quigley bryan.quigley at canonical.com
Thu Apr 18 16:50:26 BST 2013

The documentation here [1] says that we should only specify
RABBITMQ_/SERVER_ERL_ARGS for debugging purposes.  Is this still the
case?  A search of this list does seem to show people using it for
production purposes.  I would be happy to help update the documentation
if it is out-of-date.

My specific use case is stopping the beam port from being externally
accessible.  (Some organizations have to justify every port that tries
to listen externally)
I was able to do it with the following in my rabbitmq-env.conf:
SERVER_ERL_ARGS="-kernel inet_default_listen_options -kernel
inet_default_connect_options [{nodelay,true}] -kernel
inet_dist_use_interface {127,0,0,1}"
export RABBITMQ_NODENAME=rabbit at localhost

The specific ERL_ARGS option to do this was -kernel
inet_dist_use_interface {127,0,0,1}

Confirmation test results:
lsof output with specific ERL_ARGS:
beam 3871 rabbitmq 7u IPv4 20936 0t0 TCP localhost:39387 (LISTEN)

lsof output without specific ERL_ARGS:
beam 4002 rabbitmq 8u IPv4 21419 0t0 TCP *:34264 (LISTEN)

Is there a better way to bind beam to localhost that I missed?

Thank you!
Bryan Quigley

[1] http://www.rabbitmq.com/configure.html

The localhost question is actually pretty popular (top one about
RabbitMQ on the site):
(None of the solutions actually work for beam)

Another similar use case is to just specify a range/port that beam
should be listening.

More information about the rabbitmq-discuss mailing list