alt*_*ler 17 deployment heroku
我有一个应用程序,我们称之为derpshow,它由两个存储库组成,一个用于前端,一个用于后端.
我想使用Heroku部署这些,最好是在同一个域上.我还想将两个部分的管道分开使用,每个管道都有一个分段和生产环境.
是否可以让两个应用程序在同一个域上运行,以便前端可以调用后端/api/*
?另一种选择是服务于后端api.derpshow.com
和前端,app.derpshow.com
但这在一定程度上使安全性变得复杂.
这方面的最佳做法是什么?前端只是静态文件,所以它甚至可以从S3或类似的服务,但我仍然需要登台和生产环境和自动测试等等.
任何意见是极大的赞赏!
Joz*_*han 10
对于您的尝试,您必须使用Web服务器来提供静态内容,并提供对容纳您的应用程序的容器(gunicorn,tomcat等等)的访问权限.这也是最佳做法.
假设你使用nginx作为webserver,因为它更容易设置.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...
}
}
Run Code Online (Sandbox Code Playgroud)
就是这样.
老问题:尝试使用nginx-buildpack,它允许你在Heroku上的app服务器前运行NGINX.然后,您需要在不同的端口上运行您的应用程序,并将一个端口设置为api.derpshow.com,将其他端口设置为app.derpshow.com,然后您只能从localhost限制对api.derpshow.com的调用.
归档时间: |
|
查看次数: |
5745 次 |
最近记录: |