【问题标题】:How to establish communication between "AZURE Application Gateway and Linux VM" on azure cloud ?如何在 Azure 云上建立“AZURE 应用程序网关和 Linux VM”之间的通信?
【发布时间】:2018-01-17 11:03:24
【问题描述】:

亲爱的,我们想使用 AZURE 应用程序网关在我们的 LINUX 虚拟机(托管我们的 node.js 微服务)前实现 SSL。

根据当前配置:

-我们为应用程序网关和 linux VM 拥有相同的资源组。

-两者都在同一个虚拟网络上,但子网不同(因为应用程序网关需要自己的子网)。

-没有应用程序网关,我可以毫无问题地访问我的微服务。

有人可以就如何在应用程序网关和我们托管在 linux VM 上的微服务之间建立通信提出建议。

【问题讨论】:

  • 您好,您的服务正在监听哪个端口?
  • 你检查过 NSG 吗? VM使用的那个是对外开放的还是对你特定的本地机器IP开放的?

标签: azure deployment virtual-machine microservices azure-application-gateway


【解决方案1】:

-没有应用程序网关,我可以毫无问题地访问我的微服务。

将您的虚拟机添加到应用程序网关后,它不会对原始访问产生影响。您的端口是您的服务监听。你可以检查一下 linux VM。

netstat -ant|grep <port>

请确保您的服务正在侦听,并且您可以使用curl &lt;privateip&gt;:&lt;port&gt; 访问该服务。

根据您的描述,我建议您可以将虚拟机的网卡添加到后端池中的应用程序中。如下:

如果您的服务没有监听 80,您还需要检查应用程序网关 HTTP 设置。

更多信息请参考这个link

【讨论】:

  • 正如 Lech Migdal 所说,您需要在 Azure NSG(入站规则)上打开您的服务端口。
  • 亲爱的@walter,我们正在侦听端口 80,我已按照您的建议使用 netstat 命令确认了相同的 tcp6 0 0 :::80 :::* LISTEN"
  • @GautamMalik 嗨,您的虚拟机是否有公共 IP,您能否使用公共 IP 地址评估您的服务。添加应用网关不影响。
  • 是的,我的虚拟机有一个公共 IP,我可以使用这个公共 IP 访问微服务,我进一步搜索发现如果我使用这个虚拟机的私有 IP 卷曲,我没有得到范围 200-399 之间的任何响应代码(因为它需要身份验证)....因此我猜原因可能是应用程序网关中的默认运行状况探测器认为这是“不健康的”,因为当我使用自定义探测器时它给了我不健康的状态在使用其私有 IP 时,您能否建议我是否需要在 linux VM 上托管的 node.js 应用程序中添加另一个路由器(路径)。
  • 您是否在应用程序网关上添加了健康探测器?您是否尝试将其删除并重新测试。
猜你喜欢
  • 1970-01-01
  • 2017-06-10
  • 2022-01-11
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
相关资源
最近更新 更多