Сервис RX не может подключиться к RabbitMQ
«RabbitMQ is not available. Possible problems: TLS configuration (check useTls setting). Incorrect port» в логах Directum RX: сервис не подключился к брокеру. Порт 5672 или 5671, TLS, адрес и учётные данные: что проверить по порядку.
Что это значит
Сервис RX при старте или после обрыва не смог подключиться к RabbitMQ и сам подсказывает две частые причины: настройка TLS не совпадает с брокером или указан не тот порт. Обычный порт AMQP 5672, с TLS 5671. Если включить TLS в настройках RX, а подключаться к 5672, или наоборот, соединение не устанавливается.
Та же запись появляется, когда брокер просто недоступен: остановлен, не резолвится имя, порт закрыт межсетевым экраном.
Как проверить
- Доступен ли порт с сервера, где работает сервис RX:
nc -vz rabbit01 5672
nc -vz rabbit01 5671
- Если используется TLS, отвечает ли брокер по TLS и каким сертификатом:
openssl s_client -connect rabbit01:5671 -servername rabbit01 </dev/null | head -20
- Какие порты слушает брокер:
rabbitmq-diagnostics listeners. - Учётные данные: при неверном пароле в журнале брокера будет ACCESS_REFUSED, а не эта ошибка.
Что сделать
- Привести в соответствие порт и признак TLS в настройках RX в Directum Launcher и в брокере.
- Если TLS включён, сертификат брокера должен быть выдан на то имя, по которому подключается RX, и его удостоверяющий центр должен быть доверенным на сервере RX.
- После исправления перезапустить сервисы, которые не смогли подключиться, и проверить в журналах, что подключение установлено.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать