从Azure应用服务连接到Azure VM

时间:2019-01-22 14:48:38

标签: azure azure-virtual-machine

我有一个Azure虚拟机,进程在该虚拟机上侦听某个端口。我本地计算机上的Node.js应用程序能够使用VM的公共IP地址连接到此过程。但是,尽管VM允许所有端口上的所有传入流量,但部署为Azure上的应用程序服务的同一Node.js应用程序显然无法使用任何IP地址进行连接。

(详细信息:VM进程正在运行“ q”(kdb +),并且Node.js应用程序正在使用“ node-q”包进行连接。AzureVM和Azure应用程序服务均为Linux,但该应用程序服务的本地版本在Windows上。Azure应用程序服务 能够连接到我的Azure SQL数据库。)

任何对此问题的见解都将受到赞赏。

2 个答案:

答案 0 :(得分:0)

网关错误的原因很多,也许您可​​以一边验证以下因素:

  • Azure VM端。当您从应用程序请求连接时,请确保Azure VM正在运行,并且进程端口正在侦听。您可以在Linux VM上运行sudo netstat -plnt来检查监听端口。或者,由于现场的大量访问者或DDOS攻击,如果服务器耗尽了内存,则服务器可能会崩溃。
  • 防火墙阻止了一个请求。您应在VM的此侦听端口上允许所有传入流量或Azure Web应用程序服务出站流量。在这种情况下,您可以验证虚拟机的网络安全组配置以及虚拟机内部的防火墙(如果有)。您可以通过单击Azure门户上的虚拟机-设置-网络-入站端口规则找到NSG设置。
  • 编程错误。看来Node.js应用程序可以在本地运行。
  • 临时问题。有时,没有真正的问题,但是您的浏览器认为这是由于浏览器出现问题,网络设备出现问题或其他一些原因所致。您可以刷新Web浏览器或清除缓存和cookie,以使页面返回您想要的内容。您可以参考fixing 502 error来了解更多详细信息。

如果您还有任何疑问,请随时告诉我。

答案 1 :(得分:0)

部署错误。我没有在上载到Azure的过程中包括所有依赖项。谢谢。