GCP 负载平衡器 - 主机和路径规则不起作用
GCP Load Balancer - Host and path rules not working
我有一个 VM,上面托管了 3 个应用程序。所有应用程序都可以正常使用虚拟机的 public IP 和端口(例如 34.44.55.66:{port})
- React JS 网站 1(端口 3001)
- React JS 网站 2(端口 3002)
- Express JS API 1(端口 3003)
我现在想把所有这些都放在一个Cloud Load Balancer后面。我为此做了以下工作。
- 创建了三个后端服务(每个应用程序一个)
- 创建主机和路径规则如下
负载均衡器的创建没有任何问题。但是,只有默认路径可以正常工作。请参考下面的详细信息(将 LB IP 视为 55.66.77.88)。
55.66.77.88:网站 1 打开没有任何问题(默认路径)
55.66.77.88/website-1: Website-1 在浏览器控制台中显示错误信息
55.66.77.88/website-2: Website-2 在浏览器控制台中显示错误信息
55.66.77.88/api-1: API-1 在浏览器控制台显示错误信息
GET http://55.66.77.88/api-1 404 (Not Found)
每当我将上述任何后端服务映射到默认路径时,它们都可以正常工作。但是,当在浏览器中输入路径时,它们无法按预期工作。
如有任何建议,我们将不胜感激。
请记住,在您的配置中,没有 URL 重写操作。这意味着你的要求
55.66.77.88/website-1/index.html
将到达此路径的后端
# Backend bucket example
gs://my-bucket/website-1/index.html
# Instance group backend
<backend>/website-1/index.html
# Network Endpoint Group backend
<NEG>/website-1/index.html
提供给负载均衡器的基本路径被转发。当您没有其他路径时,它会起作用(根路径的情况 55.66.77.88/
)
您可以覆盖高级模式下的行为,并且可以为每个规则定义 URL 重写。
您可以在控制台中这样定义重写规则
点击高级配置
设置您的默认配置(任何域,任何路径)
然后点击添加主机和路径规则
像你一样把 * 放在主机中
然后点击路径规则部分的铅笔,默认定义规则。同样,默认情况下 select 您的后端。没有特别重写,这是默认路径。
现在点击添加路径规则。
添加您的匹配路径。并且只有 / 在重写 URL 部分(如果后端依赖主机名,你可以重写你的主机,但它似乎不是你的情况)
对所有后端执行此操作并对其进行测试(让 3 - 5 分钟将更新传播到边缘节点)
我有一个 VM,上面托管了 3 个应用程序。所有应用程序都可以正常使用虚拟机的 public IP 和端口(例如 34.44.55.66:{port})
- React JS 网站 1(端口 3001)
- React JS 网站 2(端口 3002)
- Express JS API 1(端口 3003)
我现在想把所有这些都放在一个Cloud Load Balancer后面。我为此做了以下工作。
- 创建了三个后端服务(每个应用程序一个)
- 创建主机和路径规则如下
负载均衡器的创建没有任何问题。但是,只有默认路径可以正常工作。请参考下面的详细信息(将 LB IP 视为 55.66.77.88)。
55.66.77.88:网站 1 打开没有任何问题(默认路径)
55.66.77.88/website-1: Website-1 在浏览器控制台中显示错误信息
55.66.77.88/website-2: Website-2 在浏览器控制台中显示错误信息
55.66.77.88/api-1: API-1 在浏览器控制台显示错误信息
GET http://55.66.77.88/api-1 404 (Not Found)
每当我将上述任何后端服务映射到默认路径时,它们都可以正常工作。但是,当在浏览器中输入路径时,它们无法按预期工作。
如有任何建议,我们将不胜感激。
请记住,在您的配置中,没有 URL 重写操作。这意味着你的要求
55.66.77.88/website-1/index.html
将到达此路径的后端
# Backend bucket example
gs://my-bucket/website-1/index.html
# Instance group backend
<backend>/website-1/index.html
# Network Endpoint Group backend
<NEG>/website-1/index.html
提供给负载均衡器的基本路径被转发。当您没有其他路径时,它会起作用(根路径的情况 55.66.77.88/
)
您可以覆盖高级模式下的行为,并且可以为每个规则定义 URL 重写。
您可以在控制台中这样定义重写规则
点击高级配置
设置您的默认配置(任何域,任何路径)
然后点击添加主机和路径规则
像你一样把 * 放在主机中
然后点击路径规则部分的铅笔,默认定义规则。同样,默认情况下 select 您的后端。没有特别重写,这是默认路径。
现在点击添加路径规则。
添加您的匹配路径。并且只有 / 在重写 URL 部分(如果后端依赖主机名,你可以重写你的主机,但它似乎不是你的情况)
对所有后端执行此操作并对其进行测试(让 3 - 5 分钟将更新传播到边缘节点)