1

我需要在谷歌云负载均衡器中创建以下规则:

  1. /en/example
  2. /ar/example
  3. /.../example

比如2个字母代表一个locale。

我找不到在负载平衡器 url-map 中设置正则表达式的方法。这怎么可能实现?

4

2 回答 2

0

正则表达式目前在 GLB 中不可用我们只能使用基于路径的请求路由到后端服务(实例组/存储桶)

参考:路径规则不使用正则表达式或子字符串匹配。

来源:https ://cloud.google.com/load-balancing/docs/url-map-concepts#pm-constraints

于 2021-05-07T09:33:59.217 回答
0

我能够创造休闲环境:

域:example.com 三个桶www.example.comexample-enexample-ar。这三个都可以公开阅读;

  • www.example.com包含index.html主目录中的文件
  • example-en包含index.html/en/ 目录中的文件
  • example-ar包含index.html/ar/ 目录中的文件

每个存储桶都需要设置索引页面才能工作:

gsutil web set -m index.html gs://www.example.com/
Setting website configuration on gs://www.example.com/...
gsutil web set -m index.html gs://example.en/
Setting website configuration on gs://example.en/...
gsutil web set -m index.html gs://example.ar/
Setting website configuration on gs://example.ar/...

example.com我为“www.example.com”配置了 HTTPTS 负载平衡器(使用 GCP 的托管 SSL 证书) 。

  • 后端服务和后端存储桶 包含三个上述存储桶。
  • 主机和路径规则配置为:

您可以将任何路径重定向到您想要的任何存储桶,唯一的要求是重定向的路径必须与存储桶中的路径匹配(否则它将不起作用)。您还可以使用子域并将它们重定向到其他存储桶。可以向现有 LB 添加新服务和路径,以便您稍后进行更改。

让我知道这是否回答了您的问题。

最后一件事是设置前端(一个用于端口 80,一个用于 443 端口,使用 SSL 加密)。

您还可以查看Path Matcher 文档,该文档将为您提供更多想法。

于 2021-03-16T12:38:07.470 回答