SpringBoot连接RabbitMQ时一直显示Socket Closed或者An unexpected connection driver error occured,但是能正常访问web管理台

问题:

在使用SpringBoot连接虚拟机或者远程主机的RabbitMQ时,出现了一直报错超时,报错 Socket Closed 或者 An unexpected connection driver error occured。

解决方案:

第一步:开启rabbitmq服务后,先用浏览器访问rabbitmq的web管理界面http://192.168.75.129:15672,如果不能访问成功,进入第二步,能成功访问但是速度很慢直接进入第四步;

第二步:查看虚拟机的防火墙,自己是不是开放了5672、15672、25672这三个rabbitmq的默认端口,如果已经开放了,直接进入第三步,未开放可以使用以下命令进行开放;

查看命令:service iptables status
开放端口:vim /etc/sysconfig/iptables
		在文件中插入:
		-A INPUT -m state --state NEW -m tcp -p tcp --dport 5672 -j ACCEPT
		-A INPUT -m state --state NEW -m tcp -p tcp --dport 15672 -j ACCEPT
		-A INPUT -m state --state NEW -m tcp -p tcp --dport 25672 -j ACCEPT

Tips:

  1. vim的几个快捷键:在命令模式下[yy复制一行, dd剪切一行,p粘贴]
  2. 文章中涉及到的系统是CentOS6.5,有些命令是跟CentOS7有区别的,比如防火墙等。

第三步:rabbitmq默认的guest账户是不能进行远程访问的,可以通过修改配置让guest账户能进行远程访问,也可以直接创建一个可以远程访问的账户;(这里我选择第二种)

创建用户:(zhangsan)
rabbitmqctl add_user zhangsan 123456
设置用户角色:
rabbitmqctl set_user_tags zhangsan administrator
设置权限:
rabbitmqctl  set_permissions -p "/" zhangsan ".*" ".*" ".*"

第四步:如果前面几步完了之后还是出现web管理台能访问,但是访问速度慢,并且SpringBoot无法连接rabbitmq的话,想想自己是不是修改过虚拟机的注解名,这时只需要在虚拟机中修改hosts文件对地址的映射就行了。
在这里插入图片描述修改了配置文件后,使用source /etc/profile使配置文件失效即可,不用重启。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值