如何在AWS VPC的专用子网中的AWS EC2实例后面连接网页

发布时间:2020-07-06 20:26

我有一个带有1个公共子网和1个私有子网的AWS VPC。我在每个子网中放置了1个EC2实例。两个EC2实例都在端口80中运行Apache HTTP服务器,并具有HTML页面。假设在Public EC2实例的Page1.html和Private EC2实例的Page2.html中。 Public EC2实例中的Page1.html具有指向Private EC2实例中的Page2.html的URL。
所有安全组都对所有流量开放,并且NAT网关分配有弹性IP。

在浏览器中放入(http://公用IP地址:80 / Page1.html)时,显示的是Page1.html。但是,当我单击Page1.html上指向Private EC2实例中的Page2.html的链接时,不会显示Page2.html。该请求最终超时。

有没有办法使这两个Apache服务器互相通信?

可能值得注意的是:

i)我可以从公共实例ping (私有ip)

ii)从公共实例中,我可以运行“ nc -vz(私有IP)80 ”,并以“ 连接到(私有IP)80端口[tcp / http ]成功!

iii)在公共实例中,执行“ curl(专用ip)80 ”命令将获取HTML脚本/转储,但显示错误“ curl:(7)无法连接到服务器”。

回答1

当您单击网页中的链接时,这两个Web服务器没有互相通信,您的Web浏览器正在直接与这两个服务器通信。在这种情况下,您不能在私有子网中拥有其中一台服务器。