webstomp JS — получение отказа в доступе без обратной связи при попытке отправить сообщение rabbitmq

#javascript #rabbitmq #web-stomp

Вопрос:

Я пытаюсь отправлять сообщения в rabbitmq с помощью HTML-страницы со скриптом JS, который содержит следующие строки:

 var client = new StompJs.Client({
        brokerURL: 'ws://localhost:15674/ws',
        connectedHeaders: { login: 'my_rabbit_username', passcode: 'my_rabbit_password' },
        reconnectDelay: 5000,
        heartbeatIncoming: 4000,
        heartbeatOutgoing: 4000,
    });
client.activate();
function update_rabbit(){
        var rabbitName = document.getElementById("myRabbitLoc").value;
        console.log(rabbitName);
        client = new StompJs.Client({
            brokerURL: rabbitName,
            connectedHeaders: { login: 'my_rabbit_username', passcode: 'my_rabbit_password' },
            reconnectDelay: 5000,
            heartbeatIncoming: 4000,
            heartbeatOutgoing: 4000,
            });
        client.activate();
    }
 client.onStompError = function (frame) {
      // Will be invoked in case of error encountered at Broker
      // Bad login/passcode typically will cause an error
      // Complaint brokers will set `message` header with a brief message. Body may contain details.
      // Compliant brokers will terminate the connection after any error
      console.log('Broker reported error: '   frame.headers['message']);
      console.log('Additional details: '   frame.body);
    };
 

однако, если я попытаюсь изменить «localhost» на любое другое имя компьютера в моей локальной сети или даже изменить его на имя моей собственной машины, сообщение не придет. и я получаю следующее сообщение:

 Broker reported error: Bad CONNECT
xxx.html:153 Additional details: non-loopback access denied
 

Был бы очень признателен за любую помощь в том, как это сделать

Изменить: удалось избежать сообщения об ошибке при изменении имени моего компьютера, но сообщения по-прежнему не будут доставлены . при попытке изменить его на другой сетевой компьютер возникают следующие ошибки:

 WebSocket connection to 'ws://xxx.xxx.net/15674/ws' failed: 
_createWebSocket @ client.ts:510
(anonymous) @ client.ts:432
fulfilled @ byte.ts:13

 

которые продолжают продолжаться…

Ответ №1:

очевидно, мой первый код подключения был несколько неправильным. Я использовал эту фразу

 connectedHeaders: { login: 'my_rabbit_username', passcode: 'my_rabbit_password' },
 

в то время как я должен был использовать:

 connectHeaders: { login: 'my_rabbit_username', passcode: 'my_rabbit_password' },
 

(без «эд» в слове подключено)
это расстраивает, но это было все 😀