无法将EC2实例公共IP分配给Mosquitto MQTT代理

时间:2017-05-26 12:55:26

标签: amazon-ec2 mqtt mosquitto

我在其中一个EC2实例(ubuntu)中安装了Mosquitto MQTT,并且使用localhost运行良好的代理。

我可以在本地计算机上发布/订阅以及另一个EC2实例(同一子网172.31.X.X中的EC2)

现在,我想从外面的PC连接代理(发布/订阅)。因此,我尝试将代理IP配置为EC2实例公共IP。

VirtualBox:cat /etc/mosquitto/mosquitto.conf
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
listener 1883 50.24.39.66
pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
VirtualBox:
VirtualBox:sudo mosquitto -c /etc/mosquitto/mosquitto.conf
1495801790: mosquitto version 1.4.8 (build date Fri, 19 Feb 2016 12:03:16 +0100) starting
1495801790: Config loaded from /etc/mosquitto/mosquitto.conf.
1495801790: Opening ipv4 listen socket on port 1883.
1495801790: Error: Cannot assign requested address
carun@carun-VirtualBox:~$

但是,重启代理时遇到上述错误“无法分配请求的地址”

到目前为止,

  • 允许(inboud / outbound)对EC2的所有访问权限。
  • 在EC2中禁用防火墙
  • - 允许所有安全级别访问EC2安全组。

但没有运气,

那么问题,

  1. 如何为代理分配EC2公共IP?
  2. 如何在世界范围内访问MQTT代理?
  3. 提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

listener行的末尾删除ip地址(50.24.39.66)(或者只删除整行)以允许mosquitto绑定到所有可用的IP地址