
# 为什么OBS桶接入CDN后，访问域名会列出所有文件列表？
如果用户对OBS桶有读权限，就可以读取桶内对象列表。当用户请求的是CDN加速域名的时候，OBS就默认返回桶内对象列表。您可以选择以下几种方式解决：
1. 如果您使用的是**OBS公有桶** ，请参考以下操作步骤解决该问题：
   1. 在OBS处开启静态网站托管，操作步骤请参考[配置静态网站托管](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829093.html)。
   
   2. 同时在CDN域名的源站配置页面勾选"静态网站托管"。
      1. 在CDN控制台域名管理页面，单击需要配置的域名。
      
      2. 在"回源配置"页签下"源站配置"模块，找到对应的OBS桶源站。
      
      3. 单击源站"操作"列的"编辑"按钮，勾选"静态网站托管"。
      
      4. 单击"确定"，完成配置。
         ![](https://support.huaweicloud.com/cdn_faq/public_sys-resources/note_3.0-zh-cn.png)
         配置"静态网站托管"后，可能会因为节点缓存导致请求依然会列出桶内对象列表，此时需要刷新首页URL，请注意：
         - 建议采用"URL刷新"刷新首页URL。
         
         - 谨慎使用"目录刷新"，"目录刷新"会刷新目录下所有资源，造成所有请求回源，增加源站负担。
           
       
    
2. 如果您的源站是**OBS私有桶** 且使用旧版的**OBS委托授权** ，可使用新版的委托授权替换掉旧版，详情请参考[如何用新版OBS委托授权的权限替换旧版](https://support.huaweicloud.com/cdn_faq/cdn_faq_0203.html)。
3. 如果您使用的是**OBS私有桶** ，也可以参考[通过CDN加速OBS视频点播](https://support.huaweicloud.com/bestpractice-obs/obs_05_0510.html)页面，"**通过CDN加速OBS视频点播方案介绍\>实施步骤\>** **配置OBS高级桶策略，避免私有桶内对象被匿名用户列举**"完成配置。
4. 如果您使用的是**OBS私有桶** ，您还可以通过给"CDNAccessPrivateOBS"委托创建一条**拒绝列举桶内对象** 的策略，达到不会列出桶文件列表的目的，步骤如下：
   1. 前往IAM控制台，在左侧菜单栏选择"委托"，在"CDNAccessPrivateOBS"的"操作"列，单击"授权"。
   
   2. 在授权页面单击"新建策略"，配置如下参数：
      表1参数说明 
      | 参数         || 说明                              |
      |:---|---|:---|
      | 策略名称       || 输入自定义的桶策略名称，例如：deny ListBucket。 |
      | 策略配置方式     || 可视化视图。                          |
      | 策略内容 | 效力   | 拒绝。                             |
      | 策略内容 | 云服务  | 对象存储服务（OBS）。                    |
      | 策略内容 | 操作项  | 在列表一栏勾选"obs:bucket:ListBucket"。 |
      | 策略内容 | 资源   | 所有资源                            |
      | 策略内容 | 请求条件 | -                               |
         
      
   
   3. 单击"下一步"，进入选择策略页面。
   
   4. 勾选刚创建的策略，此处示例为"deny ListBucket"，单击"下一步"，进入设置最小授权范围界面。
   
   5. 单击"确定"，完成授权，授权后15\~20分钟生效。
   
   6. 授权生效后，请刷新CDN缓存后重试。
    
 
