【问题标题】:Google cloud bucket use for static services without having a domain谷歌云存储桶用于没有域的静态服务
【发布时间】:2021-11-15 10:31:28
【问题描述】:

我有一个静态网站,我想使用谷歌存储桶。但是,由于我没有域,我想直接使用具有 allUsers 权限的存储桶来查看。

为了让用户看不到存储桶的默认文件夹结构,我制作了一个负载均衡器,至少如果有人访问我的存储桶,我会直接将他们重定向到 build/index.html 但是当存储桶出现权限错误时是公开的(包含所有内容)

我通过创建存储桶的机器的 IP 进行了此设置。

但我得到了典型的 403 错误

【问题讨论】:

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


    【解决方案1】:

    您无需设置高级主机和路径规则。默认的简单主机和路径规则选项就可以了。

    我找到了关于您的问题的similar case。您可以通过将权限从 Storage Object Viewer 更改为 Storage Legacy Object Viewer 来阻止用户列出您的整个存储桶目录。由于Storage Object Viewer 角色包含storage.objects.getstorage.objects.list 的权限,这将包括列出存储桶中对象的权限。有关适用于云存储的 IAM 角色的参考列表,请参阅IAM Roles for Cloud Storage

    接下来,您可以通过将 build/index.html 指定为 specialty page 来执行“重定向”。至于步骤,你可以按照:

    1. 在存储桶的根目录中上传一个空的index.html 文件。
    2. 打开存储桶设置,点击Edit Website Configuration
    3. 将新上传的index.html设置为“主页”

    您可以分别查看answer of Hao Xuanswer of maxime

    【讨论】:

    • 谢谢,但 2 和 3 号不起作用。尽管如此,如果我去我的存储桶,它会显示访问被拒绝,直到我在 url 末尾添加 /index.html
    • 嗨@user3201492,我看到了你的评论,但你已经接受了答案,只是想问你是否同意?你能澄清一下吗?
    • 您好!我仍然有需要使用 index.html 设置完整 URL 的问题,但无论如何与 Storage Legacy Object Viewer 相关的点非常重要,所以这就是为什么我接受它作为答案(80% 的解决方案)
    • @user3201492,您能否澄清一下您的负载均衡器是否存在冲突?另外,您是否在我回答的第二部分之前编辑了您的主机和路径规则?
    • 我确实没有任何负载均衡器。关于主机,我实际上想使用 Cloud Storage 来托管我由 React 构建的静态网站。所以我不确定你编辑你的主机是什么意思:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 2018-12-24
    • 2019-09-20
    • 2020-12-31
    • 1970-01-01
    • 2016-01-31
    相关资源
    最近更新 更多