内容分发网络 CDN-CDN加速OBS常见问题:为什么OBS桶接入CDN后,访问域名会列出所有文件列表?

时间:2024-07-15 17:23:23

为什么OBS桶接入CDN后,访问 域名 会列出所有文件列表?

如果用户对OBS桶有读权限,就可以读取桶内对象列表。当用户请求的是 CDN加速 域名的时候,OBS就默认返回桶内对象列表。解决办法如下:

  1. 如果您使用的是OBS公有桶,请参考以下操作步骤解决该问题:
    1. 在OBS处开启静态网站托管,操作步骤请参考配置静态网站托管
    2. 同时在CDN域名的源站配置页面勾选“静态网站托管”。
      1. 在CDN控制台域名管理页面,单击需要配置的域名。
      2. 在“源站配置”模块,单击对应源站“操作”列的“编辑”按钮。
      3. 勾选“静态网站托管”,完成配置。
  2. 如果您使用的是OBS私有桶,请参考通过CDN加速OBS 视频点播 文档中实施步骤的第6步处理。
  3. 如果您使用的是OBS私有桶,您还可以通过给“CDNAccessPrivateOBS”委托创建一条拒绝列举桶内对象的策略,达到不会列出桶文件列表的目的,步骤如下:
    1. 前往 IAM 控制台,在左侧菜单栏选择委托,在“CDNAccessPrivateOBS”的“操作”列,单击“授权”
    2. 在授权页面单击“新建策略”,配置如下参数:
      表1 参数说明

      参数

      说明

      策略名称

      输入自定义的桶策略名称,例如:deny ListBucket。

      策略配置方式

      可视化视图。

      策略内容

      效力

      拒绝。

      云服务

      对象存储服务 (OBS)。

      操作项

      在列表一栏勾选“obs:bucket:ListBucket”。

      资源

      所有资源

      请求条件

      -

    3. 单击“下一步”,进入选择策略页面。
    4. 勾选刚创建的策略,此处示例为“deny ListBucket”,单击“下一步”,进入设置最小授权范围界面。
    5. 单击“确定”,完成授权,授权后15~20分钟生效。
    6. 授权生效后,请刷新CDN缓存后重试。
support.huaweicloud.com/bestpractice-cdn/cdn_01_0218.html