是否可以将前端和后端部署在具有同一域的两个不同服务器上?

是否可以将前端和后端部署在具有同一域的两个不同服务器上?

我将应用程序分成两个项目,一个用于前端(react app),另一个用于后端(spring boot app)。现在我想将前端部署到example.com,将后端部署到example.com/api(不是api.example.com)。保证前端和后端不共享任何公共 URL。我可以使用什么技术来实现这一点?

答案1

Nginx允许您根据 URL 将请求发送到您喜欢的任何服务器。它还可以根据需要进行缓存。Nginx 速度快、简单且资源要求低,可以安装在您现有的服务器之一上。

许多其他产品都这样做 - Apache、HAProxy 等。您正在寻找的工具可能最好称为负载均衡器。

更新

我刚刚注意到您的 AWS 标签,它没有在您的问题文本中提及。AWS应用程序负载均衡器可能比部署 Nginx 更好。虽然最终成本可能更高,但托管服务往往比单个服务器更可靠。

答案2

在 Amazon Web Services 上,您还可以使用具有应用程序负载均衡器类型的 ELB,根据主机名和路径将请求拆分到单独的服务器。此方法还有一个额外的好处,就是允许您在负载均衡器上执行 SSL,并设置 Amazon 证书管理器以自动配置和续订 SSL 证书。

相关内容