我希望有人能够解释我将如何设置多层 Web 应用程序。有一个数据库层、应用程序层、Web 服务器层,然后是客户端层。我不确定如何将应用层和 Web 服务器层分开,因为应用层将位于私有子网中。我会让客户端将请求直接发送到应用服务器,但私有网络是必需的。将应用服务器与 Web 服务器分开也是一项要求。
我唯一的想法是在 Web 服务器上提供内容,然后客户端将所有请求发送到另一个端口上的同一 Web 服务器。与端口 3000 一样,如果在该端口上捕获了请求,则使用 express 的节点应用程序会将请求转发到应用程序层,因为 Web 服务器可以与应用程序服务器通信。
我确实设置了一个小的概念证明这样做。Web 服务器提供内容,然后我有另一个快速应用程序设置来侦听端口 3000,客户端在端口 3000 上发送请求,然后它只是将完全相同的内容发送回应用程序服务器。
这是我当前的设置,Web 服务器托管两台服务器。一个在端口 80 上为前端服务,一个在端口 3000 上接收请求。侦听端口 3000 的服务器将所有请求转发到应用服务器 ALB(它基本上是应用服务器上所有相同路由的副本,但它只是转发请求而不是执行操作)。但是有没有办法在中间没有这个额外的跳跃?在不暴露内部 ALB 的情况下摆脱正在侦听 3000 的附加服务器?