首页 文章

使用外部ip连接到RabbitMQ服务器

提问于
浏览
0

我正在尝试使用RabbitMQ实现MQTT协议 . 我已经安装了RabbitMQ服务器并将MQTT端口从1883更改为80.我能够从网络发布和订阅服务器 . 但是当我尝试使用外部IP发布或订阅时,我收到“超时”错误 . 任何人都可以分享如何使用外部IP发布或订阅?

1 回答

  • 0

    从网络拓扑结构的问题来看,这并不是很清楚,但我会猜测 .

    您正在连接到专用IP范围(例如192.168 . *)的计算机上运行MQTT代理,您可以从同一网络上的另一台计算机连接到此计算机 .

    您现在正尝试从此网络外部的计算机进行连接 . 您的私有IP范围网络是在做NAT的路由器后面 . 您需要在路由器上启用端口转发,以将所需端口(在本例中为端口80)上的所有流量发送到代理计算机 . 如何执行此操作取决于您的路由器 .

    编辑:鉴于新的信息,有2种可能的选择:

    • 您的RabbitMQ实例仅绑定到您的私有IP地址,请在rabittmq.conf文件中查找以 RABBITMQ_NODE_IP_ADDRESS= 开头的条目 . 如果您有一条评论,那么rabbitmq将默认绑定到所有地址 . 更多细节可以在这里找到:https://www.rabbitmq.com/configure.html

    • 您的计算机上启用了防火墙,该防火墙以静默方式将所有流量丢弃到公共IP地址上的端口80 . 我建议它默默地丢弃流量,因为你看到超时而不是连接拒绝消息 . 您还没有说过您正在使用的操作系统,因此我无法就如何更改防火墙规则提出建议

相关问题