gpt4 book ai didi

heroku - 与Heroku分开的前端和后端

转载 作者:行者123 更新时间:2023-12-03 14:17:33 25 4
gpt4 key购买 nike

我有一个应用程序,我们称它为derpshow,它由两个存储库组成,一个用于前端,一个用于后端。

我想使用Heroku来部署它们,最好是在同一域中。我还想将管道用于两个部分,并为每个部分使用过渡和生产环境。

是否可以使两个应用程序在同一域上运行,以便前端可以在/api/*上调用后端?另一种选择是在api.derpshow.com上提供后端,在app.derpshow.com上提供前端,但这会使安全性有些复杂。

最佳做法是什么?前端只是简单的静态文件,因此甚至可以从S3或类似文件中获得它,但是我仍然需要暂存和生产环境以及自动测试等等。

任何意见是极大的赞赏!

最佳答案

对于您要尝试的操作,必须使用Web服务器来提供静态内容,并提供对保存应用程序的容器(gunicorn,tomcat等)的访问。这也是最佳做法。

假设您将nginx用作网络服务器,因为它易于设置。 nginx配置文件如下所示

# Server definition for project A
server {
listen 80;
server_name derpshow.com www.derpshow.com;

location / {
# Proxy to gUnicorn.
proxy_pass http://127.0.0.1:<projectA port>;
# etc...
}
}

# Server definition for project B
server {
listen 80;
server_name api.derpshow.com www.api.derpshow.com;

location / {
# Proxy to gUnicorn on a different port.
proxy_pass http://127.0.0.1:<projectBg port>;
allow 127.0.0.1;
deny all;
# etc...
}
}


就是这样。

旧答案:尝试使用 nginx-buildpack,它允许您在Heroku上的应用服务器之前运行NGINX。然后,您需要在不同的端口上运行您的应用程序,并将一个端口设置为api.derpshow.com,将另一个端口设置为app.derpshow.com,然后可以仅从本地主机限制对api.derpshow.com的调用。

关于heroku - 与Heroku分开的前端和后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40282392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com