【问题标题】:Access Denied to Bucket while creating a GCP Load Balancer创建 GCP 负载均衡器时拒绝访问存储桶
【发布时间】:2022-02-21 21:03:20
【问题描述】:

在 GCP 中创建和配置负载均衡器时出现以下错误。 该问题似乎与后端存储桶的创建有关,因为我收到以下错误:

拒绝访问 Cloud Storage 存储分区“[存储分区的名称]。

存储桶拥有allUser access 公开访问权限,并配置为网站。

谁能帮帮我?

【问题讨论】:

  • 嗨@ignacio rosa,如果这个或任何答案已经解决了您的问题或帮助您做到了,请考虑接受它或通过单击复选标记或向上箭头投票How does accepting an answer work?。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。

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


【解决方案1】:

问题是我试图配置一个 HTTPS 负载均衡器,同时我已经配置了一个带有重定向规则到 HTTPS 的 HTTP 负载均衡器。

我解决了在创建 HTTPS 负载均衡器之前从 HTTP 负载均衡器中删除规则的问题。成功创建负载均衡器后,我再次配置 HTTP 负载均衡器以将流量重定向到 HTTPS。

两个负载均衡器都使用相同的 IP 来重定向流量,但使用不同的协议(HTTP 和 HTTPS)

  • 负载平衡器 1:HTTP://IP:80 -> HTTPS://IP:443
  • 负载平衡器 2:HTTPS://IP:443 -> 后端存储桶

【讨论】:

    【解决方案2】:

    首先,请确认当前设置是必需的,并且通过检查凭据是否正确来正确设置:即,如果您使用的是gsutil,请检查存储在您的.boto 文件是准确的。此外,通过使用命令 gsutil version -l 并检查 config path(s) 条目,确认 gsutil 正在使用您期望的 .boto 文件。

    如果凭据正确,则验证您的请求是否通过代理路由,使用 HTTP(而不是 HTTPS)。如果是这样,请检查您的代理是否配置为从此类请求中删除 Authorization 标头。如果是这样,请确保您的请求使用 HTTPS 而不是 HTTP

    最后,进入控制台,点击存储桶菜单中的“设置存储桶权限”。在添加成员中输入"allUsers",并分配Role -> Storage -> Storage Object Viewer

    或者,如果您更喜欢使用gsutil,运行gsutil -m acl set -R -a public-read gs://bucket 应该将该存储桶中所有文件的访问权限设置为公开。要在存储桶上设置默认权限,以便在添加这些文件时默认公开这些文件,请使用 gsutil defacl set public-read gs://bucket

    您可以使用以下GCP’s Official Documentation 和以下thread 作为参考。

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 2020-12-18
      • 1970-01-01
      • 2020-04-11
      • 1970-01-01
      相关资源
      最近更新 更多