我有一个与RabbitMq交互的asp.net mvc应用程序。一切都在当地很有效。
但是,在我们的部署服务器上,它无法连接
DEBUG|MassTransit.RabbitMqTransport.Integration.RabbitMqConnectionCache|Connecting: muyuser@localhost:5672/|
ERROR|MassTransit.RabbitMqTransport.RabbitMqReceiveTransport|RabbitMQ connection failed: Connect failed: muyuser@localhost:5672/|
我能收集的是这个
.erlang.cookie
用户root ApplicationPoolIdentity
帐户。其中没有.erlang.cookie
文件的用户文件夹。所以问题变成......现在怎么样?这是如何工作的?
显然,我们可以为Web应用程序创建一个专用用户,但我们的系统管理员可以理解非常不愿意这样做。
另一个线索是,当我尝试使用RDP时,以我自己的身份登录并连接到兔子我发现我不能。排除故障后,我发现我的cookie与其他人的cookie不匹配!我将其替换为来自c:\windows\.erlang.cookie
的那个,然后可以从cli连接。似乎有可能是为应用程序池身份安装某处的cookie,但它是一个不正确的cookie。它的位置是什么?
答案 0 :(得分:1)
Erlang cookie用于节点间通信,无论是用于群集RabbitMQ还是用于通过命令行使用rabbitmqctl
联系RabbitMQ。
如果您遇到AMQP连接问题,那么erlang cookie 与此无关。
查看访问控制https://www.rabbitmq.com/access-control.html,了解您的用户是否配置正确。
同时检查服务器日志以查看连接被拒绝的原因。