两个 Azure 容器应用程序之间的通信返回 502 Bad Gateway。怎么解决?

问题描述 投票:0回答:1

我在一个容器环境中有两个 Azure 容器应用程序(app1、app2)。在容器应用程序中,Spring 应用程序正在运行。我尝试从 app1 向 app2 发出 REST 请求,但收到以下响应:

502 Bad Gateway upstream connect error or disconnect/reset before headers. retried and the latest reset reason: protocol error. 

错误发生在app1和app2之间。当 app1 被调用时,它开始执行代码,但 app2 回答此错误。

当我在本地环境中运行 app1 并通过 azure 公共 url 调用 app2 时,它可以正常工作,没有任何问题。当我在本地 Docker 容器中运行这两个应用程序时,它也可以工作。 但是从我 app1 在 azure 容器环境中运行的那一刻起,我就收到了错误。我尝试通过公共 url 从 app1 调用 app2,并通过“http://app2”在容器环境中调用 app2。两者都不起作用。 我还尝试了多种方法在 app1 中进行其余调用(ProxyExchange、RestTemplate Exchange、RestTemplate get、OpenFeign)。一切都没有改变。

spring azure docker networking containers
1个回答
0
投票

首先在 app1 和 app2 中执行健康检查,就像您已经检查日志一样,以确保应用程序正在运行且健康。

验证 DNS 解析在 Azure 容器应用环境中是否正常工作。确保 app1 可以解析 app2 的 DNS,反之亦然。

检查是否有任何 NSG、防火墙或 Azure 容器应用环境配置可能会阻止容器之间的通信。

检查 app1 是否尝试连接到 app2 的正确端点。最后确认应用程序正在侦听正确的端口,并且它们之间的通信正在使用预期的协议(HTTP/HTTPS)。

如果这些都不能解决我建议您在 azure 门户中提出支持请求,我会给您下面的链接,

https://portal.azure.com/#view/Microsoft_Azure_Support/NewSupportRequestV3Blade/callerWorkflowId/5fa9c255-970f-4d06-b697-fbfef6943245/callerName/Microsoft_Azure_Support%2FHelpAndSupportOverview.ReactView

© www.soinside.com 2019 - 2024. All rights reserved.