Rabbitmq слушает на всех интерфейсах
Похоже, что мой rabbitmq прослушивает все интерфейсы, несмотря на:
В /etc/rabbitmq/rabbitmq.config:
[{rabbit, [{tcp_listeners, [{"10.0.0.1", 5672}]}]},
{rabbitmq_mochiweb, [{listeners, [{mgmt, [{ip, "10.0.0.1"},
{port, 55672}]}]}]}].
В /etc/rabbitmq/rabbitmq-env.conf:
export RABBITMQ_NODENAME=rabbit
export RABBITMQ_NODE_IP_ADDRESS=10.0.0.1
export ERL_EPMD_ADDRESS=10.0.0.1
Когда я запускаю netstat -uptan | grep луч я получаю:
tcp 0 0 10.0.0.1:5672 0.0.0.0:* LISTEN 1378/beam
tcp 0 0 0.0.0.0:33551 0.0.0.0:* LISTEN 1378/beam
tcp 0 0 127.0.0.1:38737 127.0.0.1:4369 ESTABLISHED 1378/beam
Как сделать так, чтобы луч не слушал 0.0.0.0:33551?
1 ответ
tcp 0 0 127.0.0.1:38737 127.0.0.1:4369 ESTABLISHED 1378/beam
говорит, что процесс луча включает распределенный протокол Erlang и подключается к демону epmd 127.0.0.1:4369
, Также лучевой процесс ожидает входящих соединений на 0.0.0.0:33551
, Этот интерфейс защищен с помощью файлов cookie Erlang и rabbitmqctl
использует его для подключения к экземпляру RabbitMQ и управления им.
Чтобы он мог принимать соединения только от localhost, вы можете:
использование
-kernel inet_dist_use_interface '{127,0,0,1}'
флаг конфигурации ядра из оболочки или создайте my_rabbitmq.conf:[{Ядра,[{inet_dist_use_interface,{127,0,0,1}}]}].
и используйте переменную окружения RabbitMQ, чтобы включить ее:
export RABBITMQ_CONFIG_FILE="/path/to/my_rabbitmq.conf"
использовать файл конфигурацииположить в свой
/etc/rabbitmq/rabbitmq.conf
export ERL_EPMD_ADDRESS=127.0.0.1
Переменная окружения Erlang