我需要在谷歌云负载均衡器中创建以下规则:
/en/example
/ar/example
/.../example
比如2个字母代表一个locale。
我找不到在负载平衡器 url-map 中设置正则表达式的方法。这怎么可能实现?
我需要在谷歌云负载均衡器中创建以下规则:
/en/example
/ar/example
/.../example
比如2个字母代表一个locale。
我找不到在负载平衡器 url-map 中设置正则表达式的方法。这怎么可能实现?
正则表达式目前在 GLB 中不可用我们只能使用基于路径的请求路由到后端服务(实例组/存储桶)
参考:路径规则不使用正则表达式或子字符串匹配。
来源:https ://cloud.google.com/load-balancing/docs/url-map-concepts#pm-constraints
我能够创造休闲环境:
域:example.com
三个桶www.example.com
:example-en
和example-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 证书) 。
www.example.com
存储桶中获取 index.htmlexample-en
存储桶中获取 index.htmlexample-ar
存储桶中获取 index.html您可以将任何路径重定向到您想要的任何存储桶,唯一的要求是重定向的路径必须与存储桶中的路径匹配(否则它将不起作用)。您还可以使用子域并将它们重定向到其他存储桶。可以向现有 LB 添加新服务和路径,以便您稍后进行更改。
让我知道这是否回答了您的问题。
最后一件事是设置前端(一个用于端口 80,一个用于 443 端口,使用 SSL 加密)。
您还可以查看Path Matcher 文档,该文档将为您提供更多想法。