配置 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.html
。
Make 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 中配置频道选项