如何使用 Google 云固定 IP 服务 Heroku 应用程序

How to serve a Heroku app with Google cloud fixed IP

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

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

我能够保留 IP,但我不确定我应该如何 link 它与我的 Heroku 应用程序,因为 Google 云提供了如此多的选项和服务。我只想将所有流量从此 IP 重定向到 Heroku 应用程序,但我找不到简单的方法来做到这一点。

我需要创建一个全局转发规则,但我无法在不使用大量其他服务的情况下找到实现此目的的方法。我需要虚拟机实例吗?我需要负载均衡器吗?我应该使用 VPC 路由还是 Cloud DNS?我对所有这些服务不知所措。

请有人告诉我是否可行,实现此目标的最简单方法是什么?

您可以通过以下两种方式实现。 -

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

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

第 2 步的详细信息 -

  1. 正在将静态外部 IP 地址分配给新的 VM 实例 https://cloud.google.com/compute/docs/ip-addresses/reserve-static-external-ip-address

  2. 在新采购的虚拟机上安装Nginx/HAProxy。

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

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

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