前端和后端服务器(托管在不同的 aws 实例上)无法通信
Posted
技术标签:
【中文标题】前端和后端服务器(托管在不同的 aws 实例上)无法通信【英文标题】:Frontend and backend servers (hosted on separate aws instances) can't communicate 【发布时间】:2020-01-08 05:58:14 【问题描述】:我的两个 ec2 实例在同一个子网中,并且我已经配置了安全组,以便它们可以相互通信(相互 ping 对方的私有 IP 地址并通过 telnet 连接)。
前端实例在 nginx 上托管一个 Angular 应用,后端实例托管一个 Spring Boot 应用。 Angular 应用程序向 Spring Boot 应用程序发出 http 请求并显示结果。很简单的东西。现在,当我发出 http 请求以转到后端实例的公共 IP 地址时,一切正常。当我将它们更改为转到私有 IP 地址时,它停止工作并且我收到请求超时。为什么会这样?我可以通过 telnet 清楚地访问私有 IP 地址,但 Angular 不能。
【问题讨论】:
我试过了,结果一样 【参考方案1】:您的 Angular 应用程序在客户端的浏览器上运行。对后端应用程序的请求是从无法通过私有 IP 访问后端实例的客户端浏览器发出的。
【讨论】:
以上是关于前端和后端服务器(托管在不同的 aws 实例上)无法通信的主要内容,如果未能解决你的问题,请参考以下文章
AWS CloudFront 为不同的主机(前端和后端)设置 cookie