Amazon web services aws内部负载平衡器网络::调用服务时未解析错误名称

Amazon web services aws内部负载平衡器网络::调用服务时未解析错误名称,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我有一个3层ECS容器应用程序。在表示层中,我有一个公共子网,其中nginx服务器上运行一个angular应用程序。为此,我有一个面向internet的应用程序负载平衡器。在私有子网中,我有Java Spring REST API服务,该服务在端口8080的tomcat服务器上运行,因此有应用程序内部负载平衡器。在另一个专用子网中,我有RDS数据库 应用程序客户端向内部负载平衡器url发送请求,并在应用程序中呈现响应 虽然我能够通过ssh连接到公共子网中的ec2,并卷曲到私有子网中的rest服务

我有一个3层ECS容器应用程序。在表示层中,我有一个公共子网,其中nginx服务器上运行一个angular应用程序。为此,我有一个面向internet的应用程序负载平衡器。在私有子网中,我有Java Spring REST API服务,该服务在端口8080的tomcat服务器上运行,因此有应用程序内部负载平衡器。在另一个专用子网中,我有RDS数据库

应用程序客户端向内部负载平衡器url发送请求,并在应用程序中呈现响应

虽然我能够通过ssh连接到公共子网中的ec2,并卷曲到私有子网中的rest服务并获得响应:
curl-X POSThttp://internal-qa-XXXXX-XXXXXXX.eu-west-2.elb.amazonaws.com:8080/api/products/all
在浏览器中访问客户端时,我无法收到响应。应用程序运行正常,但在浏览器控制台中检查时,我看到:
POSThttp://internal-qa-XXXXX-XXXXXXX.eu-west-2.elb.amazonaws.com:8080/api/products/all net::错误名称未解析。
我用Docker日志检查了容器,它们运行得很好。 Seurity组和NACL配置正确,我甚至根据评论检查了所有允许的流量

问题很可能是由以下事实引起的:从客户端(即浏览器)调用internet负载平衡器的url端点

内部负载平衡器的Url不可公开调用


要解决此问题,要么修改应用程序以仅使用公开可用的端点,要么将内部负载平衡器更改为面向internet。

“但是在控制台中”哪个控制台?AWS控制台?浏览器控制台,对不起,但内部LB的
internal-qa-XXXXX
端点不是吗?如果是,则不能通过internet从浏览器访问,就像从应用程序中的JavaScript调用一样。内部端点似乎是由客户端从我的浏览器调用的,而应该在子网之间进行内部调用。我认为浏览器将端点视为公共ip,因此它可以;别担心,我看起来是这样的。如果你不介意的话,我可能会给出一个答案供将来参考。我看到的唯一解决方案是在公共子网中分配面向internet的load baalancer,该子网将流量分配给私有实例subnet@PatrykMaryn是的,这可能是处理这个问题最合乎逻辑的方法。