c# - 通过 MassTransit 将应用程序连接到 RabbitMQ 集群。AuthenticationFailureException:ACCESS_REFUSED
问题描述
我有以下情况:
- 我的 RabbitMQ 集群所在的名为testServer的服务器。
- 集群名称: rabbit@MyCompany-rabbitmq-test-node01
- 服务器中目前有 3 个节点,每个节点都在自己的 docker 容器中运行。我们仅以一个节点为例,其容器名为:company-rabbitmq-test-node01
- 这个容器的端口是正确打开的(5672是联系节点的端口,15672是插件的端口)
- 虚拟主机:
在我的代码中:
container.AddMassTransit(x =>
{
LogContext.ConfigureCurrentLogContext(container.Resolve<SerilogLoggerFactory>());
x.AddBus(context => Bus.Factory.CreateUsingRabbitMq(cfg =>
{
var host = cfg.Host("testServer", hostConfigurator =>
{
hostConfigurator.Username("user-app");
hostConfigurator.Password("user-password");
hostConfigurator.UseCluster(c =>
{
string[] hostnames = ("testServer:5672;testServer:5682;testServer:5692").Split(';');
c.ClusterMembers = hostnames;
});
});
cfg.ConfigureEndpoints(container);
}));
});
IBusControl busControl = container.Kernel.Resolve<IBusControl>();
try
{
busControl.Start();
}
catch (Exception ex)
{
var logger = container.Resolve<ILogger>();
logger.Error("RabbitMQ broker is not reachable, BusControl cannot be started. ", ex);
}
问题:当我尝试启动应用程序时,它说:
代理无法访问:testServer:5672/ ---> RabbitMQ.Client.Exceptions.BrokerUnreachableException:指定的端点均不可访问 ---> RabbitMQ.Client.Exceptions.AuthenticationFailureException:ACCESS_REFUSED - 使用身份验证机制 PLAIN 拒绝登录。有关详细信息,请参阅代理日志文件。
我的用户页面:
用户应用程序可以访问虚拟主机。我错过了什么吗?
解决方案
推荐阅读
- angular - [angular 2+]如何在 Angular 应用程序引导之前动态获取路由列表
- cuda - 如何自定义 nvidia-smi 的输出以显示 PID 用户名
- php - Python 3.6 Bittrex API INVALID_SIGNATURE
- visual-studio-code - 通过 VS Code 上的 ftp-simple 扩展上传时,如何为“覆盖”做快捷方式
- bash - 在bash中将程序输出评估为整数
- tfs-workitem - 新的自定义字段未显示在 Web 布局中,并且“启用新工作项表单”未显示在 TFS 2018 集合设置中
- python - 在 python matplotlib 中绘制 x 轴的空格日期
- git - `.gitignore` 中 `directName` 和 `directName/` 的区别
- php - XAMPP 不会启动 Apache 和 MySql 服务器
- pywinauto - 如何通过pywinauto控制具有不同PID但来自同一程序的多个窗口