Я совершенно новичок в RabbitMQ и сейчас ищу ошибку конфигурации. Клиент не получает никаких сообщений от RabbitMQ, и я по возможности отлаживаю его.
Сообщения внешнего интерфейса:
Сообщение 1:
CONNECT
login:frontend_listener
passcode:xxx
accept-version:1.0,1.1,1.2
heart-beat:20000,0
Сообщение 2:
ERROR
message:Bad CONNECT
content-type:text/plain
version:1.0,1.1,1.2
content-length:30
Virtual host '/' access denied
Существует два vHosts: /
и someVhost
, и есть разные пользователи, такие как frontend_listener
. Теперь я нашел способ для доступа к файлу журнала.
Файл журнала RabbitMQ:
2020-02-11 15:50:53.579 [warning] <0.798.0> STOMP login failed for user "frontend_listener"
2020-02-11 15:50:53.579 [error] <0.798.0> STOMP error frame sent:
Message: "Bad CONNECT"
Detail: "Access refused for user 'frontend_listener'\n"
Server private detail: none
...
2020-02-11 15:51:25.349 [info] <0.850.0> Creating user 'frontend_listener'
2020-02-11 15:51:30.374 [info] <0.857.0> Setting permissions for 'frontend_listener' in 'someVhost' to '$', '$', 'client-notification.*'
2020-02-11 15:51:54.980 [warning] <0.867.0> STOMP login failed - not_allowed (vhost access not allowed)~n
2020-02-11 15:51:54.980 [error] <0.867.0> STOMP error frame sent:
Message: "Bad CONNECT"
Detail: "Virtual host '/' access denied"
Server private detail: none
2020-02-11 15:52:56.427 [warning] <0.875.0> STOMP login failed - not_allowed (vhost access not allowed)~n
Он выглядит так, как будто права доступа неверны. Может ли кто-нибудь помочь мне правильно интерпретировать это?
Я пытаюсь прочитать: Пользователь frontend_listener
хочет получить доступ к vHost /
, но у него недостаточно прав (не знаю, что $
здесь имеется в виду, кроме части регулярного выражения). Дело в том, что я не знаю, правильный ли это vHost. Как узнать URL каждого vHost?
Я спрашиваю об этом, потому что считаю, что сопоставление с vHost неверно или что-то отсутствует.
Редактировать:
После добавления host: 'someVhost'
к моему stomp-config.ts
я смог подписаться на очереди. Теперь я получаю следующую ошибку в журнале:
2020-02-12 16:32:25.913 [error] <0.5159.1> Channel error on connection <0.5149.1> (127.0.0.1:58136 -> 127.0.0.1:15674, vhost: 'someVhost', user: 'frontend_listener'), channel 1:
operation basic.consume caused a channel exception access_refused: access to queue 'stomp-subscription-SZ3-PO1-PbZroPol-WXSQw' in vhost 'someVhost' refused for user 'frontend_listener'
2020-02-12 16:32:26.022 [error] <0.5145.1> STOMP error frame sent:
Message: access_refused
На веб-интерфейсе я не получаю сообщение или ошибку.