如何部署分离的前端和后端?
Posted
技术标签:
【中文标题】如何部署分离的前端和后端?【英文标题】:How to deploy separated frontend and backend? 【发布时间】:2017-05-05 23:40:12 【问题描述】:我正在开发一个新项目,其中 react/express 作为前端,loopback 作为后端 api。我在我的开发环境中使用不同的端口将它们分开。
我应该如何将它们部署到生产环境中?
在同一台服务器上托管 - 将后端与不同的子域分开?
在 2 台不同的服务器上托管 - 似乎无法使用相同的域。
【问题讨论】:
【参考方案1】:我刚刚为 AWS 回答了 a related question。
你可以部署
静态托管服务和CDN
上的前端 AWS S3 + AWS CloudFront Google Cloud Storage + Google Cloud CDN GitHub Pages + CloudFlare Now Surge Netlify 等您在云计算服务
上的后端 AWS Elastic beanstalk 或 AWS EC2 Google App Engine Now Heroku 等您可以在不同的主机上设置不同的子域,例如
app.domain.com
在 GitHub 页面上
api.domain.com
在 Heroku 上
【讨论】:
很好的答案,谢谢,对我帮助很大。只是有一个额外的问题。在这种情况下,我应该为前端和后端使用多少个容器实例?我知道后端,因为它接受大量传入请求,应该部署一个负载均衡器和几个实例。但是前端呢,既然我已经有 CDN,我应该使用等量还是只使用一个实例? "只有一个实例,因为我已经有 CDN" - 是的,只有一个。扩大规模是 CDN 的工作。 CORS 和/如果使用 httpOnly cookie 怎么样? s-s-r(例如 Next.js)呢?然后你的前端需要运行 Node.js。 @GG.,这是一个很好的答案。关于如何让后端 Heroku 与 S3 + Cloudfront 上的前端对话的任何文档?以上是关于如何部署分离的前端和后端?的主要内容,如果未能解决你的问题,请参考以下文章