我刚开始尝试在Azure上安装Ubuntu 16.04虚拟机。 node.js应用程序需要侦听分配有公共IP地址的networking接口上的端口3000,以便远程客户端可以通过Internet连接到端口3000。
但是,node.js应用程序正在抛出错误
Error: bind EADDRNOTAVAIL 13.75.111.31:3000
我已经向networking安全组添加了inbound security rule ,以允许:
并将该networking安全组分配给虚拟机。
此外, ifconfig只返回接口eth0上的私有IP地址10.0.0.4和本地环回。 没有find公共IP地址13.75.111.31 。
我们如何解决这个问题? 有东西安装错了吗?
公共IP不能直接在您的虚拟机上使用。 相反,Azure会在该IP与您计算机的私有IP之间执行1:1 NAT。 所以,只需configuration你的系统来监听私有IP。 假设networking级别的东西configuration正确,它应该只是工作。