我通过JS(在浏览器上(webstomp连接到RabbitMQ服务器(版本:3.8.2,erlang版本:22.2.8(时遇到问题。我正在使用stomp.js.
我使用的示例如下:https://github.com/rabbitmq/rabbitmq-web-stomp-examples/blob/master/priv/echo.html
我已经做了这里描述的一切:https://www.rabbitmq.com/web-stomp.html
我已经使用以下内容为我的用户设置了权限:sudo rabbitmqctl set_permissions -p / user ".*" ".*" ".*"
我已经使用以下内容为我的用户设置了标签:sudo rabbitmqctl set_user_tags user management
我已经检查了这些解决方案:未能通过EasyNetQ连接RabbitMQ,拒绝用户guest和RabbitMQ-访问vhost';XXX';拒绝用户';guest';,以及我在谷歌上找到的其他东西。
我的rabbitmq_web_stomp
:配置
{rabbitmq_web_stomp,
[
{tcp_config, [{port, 15674}
]
},
{use_http_auth, true},
{ssl_config, [{port, 15673},
{backlog, 1024},
{cacertfile,"path/to/cert"},
{certfile,"path/to/cert"},
{keyfile,"path/to/cert"},
{password, "pass"}
]
}
]
},
我总是从服务器得到相同的响应:
Opening Web Socket...
Web Socket Opened...
>>> CONNECT login:user passcode:pass host:/ accept-version:1.1,1.0 heart-beat:10000,10000
<<< ERROR message:Bad CONNECT content-type:text/plain version:1.0,1.1,1.2 content-length:32 Access refused for user 'guest'
Whoops! Lost connection to ws://ip.addres/ws
我可以通过C#中的.NET Core客户端和管理插件访问(此用户(服务器
谢谢你的帮助!
我找到了解决方案。我不知道为什么它能工作,但它足以从配置中删除{use_http_auth, true}
。之后,从浏览器连接JS就没有问题了。