[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