Я пытаюсь выполнить шаги, описанные в документации RabbitMQ здесь, чтобы кластеризация с SSL работала. в Windows. Однако я заметил, что команда «rabbitmqctl status» начинает давать сбой после установки переменных среды, определенных в этих шагах. Я получаю следующую ошибку при выполнении «статуса Rabbitmqctl»:
Error: unable to connect to node 'rabbit@server1': nodedown
Я уже настроил RabbitMQ для использования TLS 1.2 и убедился, что он работает. Я убедился, что мой файл cookie Erlang 18 одинаков в пользовательском каталоге C:\users\me и C:\Windows на компьютере, но ошибка сохраняется и не позволяет другим серверам объединяться с ним в кластер. В документах говорится, что установка Windows SSL Cluster «скоро появится»… Вот шаги, которые я предпринял на данный момент на server1. Я думаю, что Erlang хочет использовать косую черту в путях - это соответствует настройкам SSL rabbit.config.
- Объединил содержимое моего сервера\cert.pem и server\key.pem в rabbit.pem с помощью команды «введите server\cert.pem server\key.pem > server\rabbit.pem»
- Создана переменная окружения ERL_SSL_PATH и задано значение: «C:/Program Files/erl7.0/lib/ssl-7.0/ebin».
- Создана переменная среды RABBITMQ_CTL_ERL_ARGS и задано значение: -pa "%ERL_SSL_PATH%" -proto_dist inet_tls -ssl_dist_opt server_certfile C:/OpenSSL-Win64/server/rabbit.pem -ssl_dist_opt server_secure_renegotiate true client_secure_renegotiate true
- Создана переменная среды RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS и задано то же значение, что и для RABBITMQ_CTL_ERL_ARGS.
- Скопировал файл cookie erlang в C:\Windows.erlang.cookie в мой локальный каталог профиля пользователя.
- Перезапустил кролика, используя запуск rabbitmq-service
- На данный момент на server1 больше не работает «статус Rabbitmqctl». Попытки присоединить server2 к server1 приводят к ошибке "node down".
Редактировать 1: я не могу выполнить начальный шаг в документации работает над тем, чтобы попросить Erlang сообщить о своем каталоге SSL в Windows, чтобы правильно установить ERL_SSL_PATH. Erlang установлен в C:\Program Files\erl7.0 на моем сервере.
Редактировать 2: Используя werl.exe (в C:\Program Files\erl7.0\bin\werl.exe), мне удалось выполнить команду "Foo=io:format(code:lib_dir (ssl, эбин)). и он указал путь как: c:/Program Files/erl7.0/lib/ssl-7.0/ebin. Однако это, похоже, не является причиной этой проблемы, поскольку это уже то, что я использовал.
Спасибо, Энди