我有一个Heroku应用程序,该应用程序使用nodejs来提供静态网页https://foda-app.herokuapp.com
Heroku没有提供固定IP,我的个人项目确实需要一个IP,因此我尝试使用Google Cloud的VPC保留的静态外部IP地址。
我能够保留IP,但是由于Google Cloud提供了许多选项和服务,因此我不确定如何将其与Heroku应用程序链接。我只是想将所有流量从该IP重定向到Heroku应用,但找不到一种简单的方法。
我需要创建一个全局转发规则,但是如果不使用很多其他服务,我将找不到一种实现此目的的方法。我需要一个虚拟机实例吗?我需要负载均衡器吗?我应该使用VPC路由还是Cloud DNS?所有这些服务让我不知所措。
请问有人可以告诉我,最简单的方法是什么?
答案 0 :(得分:3)
您可以使用以下两种方法来实现。 -
在heroku上使用第三方插件。例如。 https://devcenter.heroku.com/articles/quotaguardstatic
在静态IP上设置代理服务器,并将所有流量重定向到所需的Heroku网址。
第2步的详细信息-
为新的VM实例https://cloud.google.com/compute/docs/ip-addresses/reserve-static-external-ip-address
在新购买的VM上安装Nginx / HAProxy。
设置配置。如下所示-
upstream heroku-1{
server foda-app.herokuapp.com fail_timeout=15s;
}
server{
listen 80;
server_name yourdomain.example or ip address
location / {
proxy_pass http://heroku-1;
proxy_read_timeout 300;
}
}
更改您的域(如果有)的DNS映射以指向静态IP。