配置 Google Cloud Load Balancer 路径规则

Posted

技术标签:

【中文标题】配置 Google Cloud Load Balancer 路径规则【英文标题】:Configuring Google Cloud Load Balancer path rules 【发布时间】:2021-07-28 22:42:15 【问题描述】:

我正在尝试配置 Google Cloud 负载平衡器以执行以下操作:

我有一个网站在虚拟机实例中的 Wordpress 机器上运行,我希望用户在输入 outairnet.com 时访问该网站。

我有一个单独的 html 文件,我希望用户在访问 outairnet.com/map 时访问它。

WP 在计算引擎 VM 上运行,连接到 VM 实例和后端服务。单独的 html 文件位于服务存储桶上,连接到后端存储桶。

我尝试配置一个非常简单的路径转发规则,这对我来说很有意义。但这只会增加任何试图访问outairnet.com/* 的人都可以访问 WP(这很好) 但是访问outairnet.com/map 并不指向带有html 文件的存储桶,但是访问outairnet.com/index.html 却指向单独的html 文件。

我的 LB 配置 looks like this.


我想我已经解决了这个问题,但仍然无法解决。

即使我尝试删除它,谷歌控制台似乎也添加了 /* 规则。

所以它是一个 /* 路径规则,它可以捕获所有内容,尽管还有一个更具体的规则,例如 /mypath/*。

但由于某种原因,删除后它只是自动读取。为什么?

【问题讨论】:

尝试/map/*的路径并访问outairnet.com/map/whatever.html 除了@Asdfg的解决方案,能不能把你的文件放到bucket的/map/路径下? 尝试做这两件事。现在 outairnet.com 将用户带到 VM 上的 WP,这很好。但其他任何东西 outairnet.com/whatever - 给出 404 未找到 我刚刚添加了另一个路径规则,只有“/”指向虚拟机,它似乎做到了,但现在唯一的故障是 www.outairnet.com/map 很好但 outairnet.com/没有 www 的映射指向 vm 而不是存储桶 【参考方案1】:

这是可能的 - 涉及几个步骤,例如使用您的静态页面创建一个存储桶,将其作为后端服务添加到您的负载均衡器中,并在其中创建一个新的路径规则来重定向请求。

现在是详细信息:

    Create a new bucket - 选择您喜欢的名称(outairnet-static 或对您有意义的名称,以免意外删除)。您可以忽略所有说明它必须具有您的域的确切名称的教程 - 因为它只会托管在 outairnet.com/mylink/ 下可访问的文件,无论使用的名称如何,它都可以工作。我测试过了。 在您的存储桶中创建一个目录,该目录的名称与您希望它所在的路径完全一致。如果你想要outairnet.com/mylink/,那么目录的名字必须是mylink。 Upload your files 进入该目录。除非您想提供完整的文件路径,否则将您的主索引文件命名为 index.htmlMake the bucket avaialble to everyone转到您的 LB 配置并编辑后端服务; add a new backend bucket。

    转到您的主机和路径规则并配置新路径;输入您的站点名称和路径(记住路径值必须是/mylink/*)并从下拉列表中选择您刚刚创建的存储桶。

无需对前端进行任何更改。保存更改,稍后它应该可以工作了。

【讨论】:

我已经尝试了以上所有方法,但在访问 outairnet.com/map 或 outairnet.com/whatever 时仍然找不到页面。 我刚刚添加了另一个路径规则,只有“/”指向虚拟机,它似乎做到了,但现在唯一的故障是 www.outairnet.com/map 很好,但 outairnet.com/没有 www 的映射指向 vm 而不是存储桶【参考方案2】:

我刚刚添加了另一个路径规则,只有“/”指向虚拟机,它似乎做到了,但现在唯一的故障是 www.outairnet.com/map 很好,但没有 www 的 outairnet.com/map 指向虚拟机而不是桶

【讨论】:

以上是关于配置 Google Cloud Load Balancer 路径规则的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google Cloud Load Balancer 设置 SSL 证书

Google Cloud Load Balancer - 子域重定向到存储桶中的特定文件夹

使用 Google Cloud Load Balancer 迁移 App Engine 会导致约 1 小时的停机时间

如何在 Google.Cloud.PubSub.V1 SubscriberServiceApiClientBuilder 中配置频道选项

google-cloud-platform:外部 DNS 配置不起作用

如何为测试、暂存和生产配置 Google Cloud Pub/Sub?