内容分发网络 CDN-为什么OBS桶接入CDN后,访问域名会列出所有文件列表?
为什么OBS桶接入CDN后,访问 域名 会列出所有文件列表?
如果用户对OBS桶有读权限,就可以读取桶内对象列表。当用户请求的是 CDN加速 域名的时候,OBS就默认返回桶内对象列表。您可以选择以下几种方式解决:
- 如果您使用的是OBS公有桶,请参考以下操作步骤解决该问题:
- 在OBS处开启静态网站托管,操作步骤请参考配置静态网站托管。
- 同时在CDN域名的源站配置页面勾选“静态网站托管”。
- 如果您使用的是OBS私有桶,请参考通过CDN加速OBS 视频点播 文档中实施步骤的第6步处理。
- 如果您使用的是OBS私有桶,您还可以通过给“CDNAccessPrivateOBS”委托创建一条拒绝列举桶内对象的策略,达到不会列出桶文件列表的目的,步骤如下:
- 前往 IAM 控制台,在左侧菜单栏选择 ,在“CDNAccessPrivateOBS”的“操作”列,单击“授权”。
- 在授权页面单击“新建策略”,配置如下参数:
表1 参数说明 参数
说明
策略名称
输入自定义的桶策略名称,例如:deny ListBucket。
策略配置方式
可视化视图。
策略内容
效力
拒绝。
云服务
对象存储服务 (OBS)。
操作项
在列表一栏勾选“obs:bucket:ListBucket”。
资源
所有资源
请求条件
-
- 单击“下一步”,进入选择策略页面。
- 勾选刚创建的策略,此处示例为“deny ListBucket”,单击“下一步”,进入设置最小授权范围界面。
- 单击“确定”,完成授权,授权后15~20分钟生效。
- 授权生效后,请刷新CDN缓存后重试。