我有一台装有 Windows Server 2012 的 Azure VM。它正在运行一个绑定并侦听特定 IP/端口的 Java 应用程序。
该服务器具有外部 IP,并且可以访问(我通过 RDP 连接到它,没有任何问题)。
应用程序需要绑定 IP。我尝试过:
- 外部 IP:java.net.BindException(这是可以理解的,因为机器不知道它有一个外部 IP - ipconfig 只显示内部 IP:10.0.0.4)
- 0.0.0.0 – 无法从互联网访问
- 10.0.0.4(内部 IP)-无法从互联网访问
我已经访问了网络安全组,它与网络接口和子网都相关联。我创建了入站和出站规则,允许“任何”协议、“任何”源、“任何”目标以及 Java 应用程序使用的端口。所有在线资源都告诉我这应该足够了。
我已经重新启动了虚拟机,但是没有帮助。
我可以检查什么?我错过了什么?
答案1
默认情况下,我们应该将您的应用程序绑定到0.0.0.0
或10.0.0.4
。
对于您的情况,我们应该检查应用程序跑步或者不是,我们可以用这个命令来检查:
netstat -ant
顺便说一下,我们可以用telnet
这个端口来测试公共 IP 地址。我们还应该检查我们的本地网络设置,有什么东西挡住了它吗?
另外,我们应该检查Windows防火墙,我们应该将端口添加到入站规则。