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

时间:2020-10-08 21:19:09

标签: google-cloud-platform google-cloud-storage google-cloud-load-balancer

当前,我们有以下要求:

每个用户都可以在Google存储桶下拥有自己的子域和文件夹,其中包含应通过该子域提供的内容,例如:

[domain] user1.example.com -> [bucket] example.com/user1/index.html
[domain] user2.example.com -> [bucket] example.com/user2/index.html

存储桶具有以下结构:

 - [Bucket] example.com
     - [Folder] user1
       - [File] Index.html
     - [Folder] user2
       - [File] Index.html
     - etc..

子域将动态添加,我不能只设置地图规则(可以通过API进行更新,但是我想它们对地图规则有限制)。

这些HTML内容也应该通过HTTPS提供。

我在GCP上具有设置域,存储桶,负载均衡器,但目前在LoadBalancer上无法进行URL /路径重写。

所以问题-是否可以调用“ user1.example.com”,并通过Load Balancer从存储桶“ /example.com/user1”文件夹中提供HTML连接?

是否可以使其与上述体系结构一起使用,还是需要为每个用户使用单独的存储桶,还是只能与将流量重定向到特定文件夹/域的单独的反向代理一起使用?

谢谢。

1 个答案:

答案 0 :(得分:0)

您已经确定,没有通用方法可以将主机名映射到路径的一部分。每个子域可以有一个单独的hostRules条目,但是限制为50个条目。您可以为每50个子域创建一个全新的转发规则和目标http代理。可以扩大规模,但仍然很复杂。

或者,您可以指向运行诸如Envoy或HAProxy之类的代理的实例的后端服务。这些具有强大的重写功能,可以做到这一点。