小编最近在学习RabbitMQ的相关知识,并在自己的两台阿里云服务器上做了相关实验,但是实验做的一波三折~~~
小编现在一台服务器上做了一个伪分布的实验,一切OK !
接着,小编就在两台服务器之间使用RabbitMQ进行实验,出错了:
Traceback (most recent call last):
File "receive.py", line 4, in <module>
pika.ConnectionParameters(host='***********'))
File "/home/bug/.local/lib/python3.5/site-packages/pika/adapters/blocking_connection.py", line 360, in __init__
self._impl = self._create_connection(parameters, _impl_class)
File "/home/bug/.local/lib/python3.5/site-packages/pika/adapters/blocking_connection.py", line 451, in _create_connection
raise self._reap_last_connection_workflow_error(error)
pika.exceptions.ConnectionClosedByBroker: (403, 'ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.')
这是个毛问题?小编就去查看了一下log日志,发现了错误所在:
=ERROR REPORT==== 20-May-2019::16:29:37 ===
closing AMQP connection <0.641.0> (*******:46038 -> *******:5672):
{handshake_error,starting,0,
{amqp_error,access_refused,
"PLAIN login refused: user 'guest' can only connect via localhost",
'connection.start_ok'}}
大体意思是,用户guest仅能通过localhost连接,既然知道了问题所在,就有解决方法了:
我们找到rabbitMQ的安装目录下的rabbit.app(在ebin文件夹下),打开并进行修改,删除loopback_users一行的guest,保存,重启,OK,完事大吉!