如何使用Google Cloud固定IP服务Heroku应用

时间:2019-04-22 12:53:59

标签: heroku google-cloud-platform dns ip

我有一个Heroku应用程序,该应用程序使用nodejs来提供静态网页https://foda-app.herokuapp.com

Heroku没有提供固定IP,我的个人项目确实需要一个IP,因此我尝试使用Google Cloud的VPC保留的静态外部IP地址。

我能够保留IP,但是由于Google Cloud提供了许多选项和服务,因此我不确定如何将其与Heroku应用程序链接。我只是想将所有流量从该IP重定向到Heroku应用,但找不到一种简单的方法。

我需要创建一个全局转发规则,但是如果不使用很多其他服务,我将找不到一种实现此目的的方法。我需要一个虚拟机实例吗?我需要负载均衡器吗?我应该使用VPC路由还是Cloud DNS?所有这些服务让我不知所措。

请问有人可以告诉我,最简单的方法是什么?

1 个答案:

答案 0 :(得分:3)

您可以使用以下两种方法来实现。 -

  1. 在heroku上使用第三方插件。例如。 https://devcenter.heroku.com/articles/quotaguardstatic

  2. 在静态IP上设置代理服务器,并将所有流量重定向到所需的Heroku网址。

第2步的详细信息-

  1. 为新的VM实例https://cloud.google.com/compute/docs/ip-addresses/reserve-static-external-ip-address

  2. 分配静态外部IP地址
  3. 在新购买的VM上安装Nginx / HAProxy。

  4. 设置配置。如下所示-

    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; } }

  5. 更改您的域(如果有)的DNS映射以指向静态IP。