[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:
RABBITMQ_NODE_IP_ADDRESS="192.168.1.100"
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 ERL_EPMD_ADDRESS=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

P.S.
The localhost question is actually pretty popular (top one about
RabbitMQ on the site):
(None of the solutions actually work for beam)
http://serverfault.com/questions/235669/how-do-i-make-rabbitmq-listen-only-to-localhost

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


More information about the rabbitmq-discuss mailing list