google-cloud-platform - 谷歌云存储桶用于没有域的静态服务
问题描述
我有一个静态网站,我想使用谷歌存储桶。但是,由于我没有域,我想直接使用具有 allUsers 权限的存储桶来查看。
为了用户看不到存储桶的默认文件夹结构,我制作了一个负载均衡器,至少如果有人访问我的存储桶,我会直接将他们重定向到 build/index.html 但是当存储桶是公共的时我会收到权限错误(及其所有内容)
我通过创建存储桶的机器的 IP 进行了此设置。
但我得到了典型的 403 错误
解决方案
您不需要设置高级主机和路径规则。默认的简单主机和路径规则选项就可以了。
关于你的问题,我发现了一个类似的案例。您可以通过将权限从 更改为 来阻止用户列出您的整个存储桶Storage Object Viewer
目录Storage Legacy Object Viewer
。由于Storage Object Viewer
角色包含 和 的权限storage.objects.get
,storage.objects.list
这将包括列出存储桶中对象的权限。有关适用于云存储的 IAM 角色的参考列表,请参阅适用于云存储的IAM 角色。
接下来,您可以通过将 build/index.html 指定为专用页面来进行“重定向” 。至于步骤,你可以按照:
index.html
在存储桶的根目录中上传一个空文件。- 打开存储桶设置,然后单击
Edit Website Configuration
- 将新上传的 index.html 设置为“主页”
推荐阅读
- docker - Ruby Dockerfile - 无法使用 Dockerfile 在 Ruby 映像中安装和配置 elasticsearch
- node.js - mongoose 文档 this.save 重复键 _id 错误
- sql-server - MSSQL 获取往年的记录,其中日期和月份小于当前日期和月份
- javascript - Javascript - 在页面加载时自动单击按钮
- angularjs - okta登录成功但重定向页面在angularjs中不起作用
- c# - 在 UserControl 中设置 ImageBox 的图像 - c#
- docker - 交错的 docker 堆栈部署
- amazon-dynamodb - aiobotocore dynamodb 没有属性“has_event_stream_output”
- java - 骆驼发送多部分/表单数据请求
- android - 当我尝试添加 firebase 添加 firebase sdk