
# 如何设置缓存过期时间
CDN加速的本质是缓存加速，把源站资源缓存在遍布全球的节点上，用户可以就近从边缘节点获取资源，从而达到加速的效果。CDN控制台可以设置源站资源在节点上缓存的时间，方便您根据业务需要对不同的文件设置相应的缓存过期时间。
#### 根据业务类型设置缓存过期时间
**CDN默认缓存过期时间：**
1. 业务类型选择的是网站加速、文件下载加速或点播加速，且源站类型为源站IP或源站域名的加速域名，会有两条默认缓存规则。
   - 常规动态文件（如： .php .jsp .asp .aspx）默认缓存过期时间为0，对此类动态文件请求会直接回源，此默认规则允许修改和删除。
   
   - 除常规动态文件外的其他"所有文件"默认缓存过期时间30天，允许修改，不允许删除。
    

2. 如果您在添加域名里源站类型选择的是"OBS桶域名"，会有一条默认缓存规则。
   - 默认有"所有文件"默认缓存过期时间30天，允许修改，不允许删除。
     ![](https://support.huaweicloud.com/bestpractice-cdn/public_sys-resources/note_3.0-zh-cn.png)
     所有文件默认缓存30天，此规则允许修改但不允许删除。您可以将自定义缓存规则设置为更高优先级（数值更大），该自定义规则将会被优先匹配。
     
    
3. 业务类型为全站加速时，默认有"所有文件"、缓存过期时间为"0"的缓存规则，允许修改和删除。
**您可以根据业务类型配置缓存过期时间：**
- 网站加速类型，建议设置缓存过期时间：
  1. 对php、aspx、asp、 jsp、 do、 dwr、cgi、 fcgi、action、ashx、axd、json等动态文件不缓存。
  
  2. 对以shtml、html、htm、js结尾的文件，建议缓存7天。
  
  3. 其他静态文件建议缓存30天。
   
- 下载加速类型，建议设置缓存过期时间：
  1. 对php、aspx、asp、jsp、do等动态文件不缓存。
  
  2. 对7z、apk、 wdf、 cab、 dhp、exe、flv、gz、ipa、iso、mpk、MPQ、pbcv、pxl、qnp、r00、rar、xy、xy2、zip、CAB等文件缓存30天。
   
- 视频点播加速类型，建议设置缓存过期时间：
  1. 对php、aspx、asp、jsp、do等动态文件不缓存。
  
  2. 对wmv、html、htm、shtml、hml、gif、swf、png、bmp、js等缓存7天。
  
  3. 对MP3、wma、7z、apk、 wdf、 cab、 dhp、exe、flv、gz、ipa、iso、mpk、MPQ、pbcv、pxl、qnp、r00、rar、xy、xy2、zip、CAB等文件缓存30天。
   
 
#### 操作步骤
1. 登录[CDN控制台](https://console.huaweicloud.com/cdn/?locale=zh-cn#/cdn/overview)。
2. 在左侧菜单栏中，选择"域名管理"。
3. 在域名列表中，单击需要修改的域名或域名所在行的"设置"，进入域名配置页面。
4. 选择"缓存配置"页签。
5. 在缓存规则模块，单击"编辑"，系统弹出"配置缓存策略"对话框。
6. 单击"添加"，根据业务需求配置缓存策略。
   图1配置缓存策略   
   ![](https://support.huaweicloud.com/bestpractice-cdn/zh-cn_image_0000002504265749.png "点击放大")
   表1缓存策略配置参数 
   | 参数                   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 配置规则                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|:---|
   | 所有文件                 | 设置CDN节点所有缓存资源的过期时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 对于新添加的加速域名，CDN默认添加一条"所有文件"缓存过期时间为30天的规则（全站加速默认缓存时间为0），此默认规则允许修改，不允许删除。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 文件名后缀                | 设置指定文件类型的缓存资源的缓存规则。 对于新添加的业务类型为网站加速、文件下载加速和点播加速，且源站为"源站IP"或"源站域名"的加速域名，CDN默认添加一条常规动态文件（如.php .jsp .asp .aspx）缓存过期时间为0的规则，对此类动态文件请求会直接回源。此默认规则允许修改和删除。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | - 支持所有格式的文件类型。  - 输入首字符为"."，以";"进行分隔。  - 输入的文件后缀名总数不能超过100个。  - 字符总数不能超过1000。  - 文件名后缀英文字符支持大写和小写。   **示例**：.JPG;.zip;.exe。 说明： 如果您的域名在后台有特殊配置，支持的文件后缀总数不能超过20，总字符数不能超过255。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 目录路径                 | 设置某一指定路径下的缓存资源的缓存规则。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 前缀匹配，输入要求以"/"作为首字符，以";"进行分隔，输入的目录路径总数不能超过20个，且字符总数不能超过255。**示例**：/test/folder01;/test/folder02。 - 支持通配符匹配，使用通配符时要注意以下规则： - 使用通配符匹配时每条规则最多可配5个"\*"，"\*"不可连续出现，且只能输入一个目录路径如：/test/\*。  - 前缀匹配，如果配置路径为/test/\*，则/test/abc、/test/abc/001都会遵循该条缓存规则。  - 后台有特殊配置的域名，不支持配置通配符\*。  - 通配符\*可以匹配换行符\\n之外的任何字符，如/test/\*/abc可以匹配到 /test/folder01/folder02/abc。  - 通配符只能匹配0个或多个字符，例：/test\*可以匹配到/test。 说明： 华为云CDN于2026年4月调整了通配符"\*"的匹配逻辑，详情如下： - 从未配置过通配符"\*"的账号，通配符"\*"可以匹配0到多个字符。  - 已配置过通配符"\*"的账号，通配符"\*"可以匹配1到多个字符，如果需要调整为可以匹配**0到多个字符**，请提交工单申请。       - 支持配置连续多个"/"，且默认为不同路径，即："/test"与"//test"代表不同路径。   |
   | 全路径                  | 设置完整路径下**某一文件**的缓存规则。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 输入要求以"/"作为首字符，最多可配置5个"\*"，且"\*"不可连续出现。支持匹配指定目录下的具体文件或者带通配符"\*"的文件。单条全路径缓存规则里仅支持配置一个全路径。**示例**：如/test/index.html或/test/\*.jpg。 说明： 华为云CDN于2026年4月调整了通配符"\*"的匹配逻辑，详情如下： - 从未配置过通配符"\*"的账号，通配符"\*"可以匹配0到多个字符。  - 已配置过通配符"\*"的账号，通配符"\*"可以匹配1到多个字符，如果需要调整为可以匹配**0到多个字符**，请提交工单申请。   - 支持配置连续多个"/"，且默认为不同路径，即："/test"与"//test"代表不同路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 首页                   | 设置根目录缓存规则                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 网站的根目录就是网站的顶层文件目录，目录下放着网站所有的子文件夹。 - 只能配置一条"类型"为"首页"的缓存规则。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 优先级                  | 缓存规则的优先级。 优先级设置具有唯一性，不支持多条缓存规则设置同一优先级，且优先级不能输入为空。多条缓存规则下，不同缓存规则中的相同资源内容，CDN按照优先级高的缓存规则执行缓存内容过期。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 取值为1\~1000之间的整数，数值越大优先级越高。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 缓存过期时间               | 达到设置的缓存过期时间后，当用户向CDN节点请求资源时，CDN会直接回源站请求对应的最新资源返回给用户，并缓存到CDN节点中。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 时间设置不能超过365天，建议参考如下规则进行配置： - 对于不经常更新的静态文件（如.jpg、.zip等），建议将缓存过期时间设置成1个月以上。  - 对于频繁更新的静态文件（如js、css等），请根据实际业务情况设定。  - 对于动态文件（如php、jsp、asp、动态接口等），建议设置成0秒，回源获取。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | URL参数                | 目前大多数的网页请求都携带URL参数信息，参数以"？"开始，如果参数没有包含重要信息（如版本信息等），可以设置忽略部分参数，从而提高缓存命中率，提升分发效率。 **配置原则：** - URL参数变化，资源不变，可以配置忽略参数。  - URL参数变化，资源变化，不可配置忽略参数。  - 如果您开通了"视频拖拽"功能，请将您视频资源对应的"URL参数"设置为"忽略参数"。                                                                                                                                                                                                                                                                                                                                                                                                                                    | - **不忽略参数：**不忽略"？"之后的参数。  - **忽略参数**：忽略所有URL参数，CDN缓存时忽略请求URL中"？"之后的参数，提高缓存命中率。  - **忽略指定参数：**CDN缓存时将忽略您在控制台配置的参数，保留其它参数。  - **保留指定参数：**CDN缓存时将保留您在控制台配置的参数，忽略其它参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | URL参数值               | 需要忽略或保留的指定参数值，当"URL参数"选择"不忽略参数"或"忽略参数"时不填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | - 最多可填写30个参数名，多个参数之间用";"分隔。  - 支持数字0-9、字符a-z、A-Z，及特殊符"."、"_"、"\~"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 缓存过期时间来源，即原缓存遵循源站配置。 | 如果源站配置了缓存过期时间，即源配置了Cache-Control:max-age或Expires，您希望CDN的缓存过期时间与源站配置一致，或者取缓存规则配置的过期时间与源站的最小值，可以通过配置缓存过期时间来源实现。默认缓存过期时间来源为CDN，支持配置的取值如下： - 源站：CDN节点的缓存过期时间遵循源站的设置。  - CDN：CDN节点的缓存过期时间遵循"缓存规则"中的"缓存过期时间"。  - 源站和CDN的最小值：CDN节点的缓存过期时间取缓存规则和源站二者的最小值。   说明： - 如果源站同时配置了Cache-Control和Expires，优先遵从Cache-Control配置的过期时间。  - 如果"缓存过期时间来源"为"源站"，但是源站没有配置Cache-Control和Expires，此时节点缓存遵循CDN配置的缓存规则。   | 缓存过期时间来源默认为CDN。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 强制缓存                 | 强制缓存决定CDN节点缓存过期时间是否忽略源站响应头Cache-Control中的no-cache、private、no-store字段，开启代表忽略，关闭代表不忽略。强制缓存与缓存过期时间来源功能配合使用，配合使用结果详见[强制缓存与缓存过期时间来源配合使用的不同结果说明]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 默认开启强制缓存功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | SWR开关                | 如果您的源站的Cache-Control头部设置了stale-while-revalidate=\*\*\*（\*\*\*为时间），可以在CDN侧开启SWR开关，当CDN节点缓存的资源过期后，如果客户端请求该资源时过期时间没有超过stale-while-revalidate设置的时间，浏览器仍然返回已缓存的资源，同时cdn节点会回源请求最新的资源并缓存，用户再次请求时就会得到最新的资源。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
      
   
7. （可选）通过单击缓存规则所在行的"删除"，删除不需要的缓存规则。
8. 单击"确定"，完成缓存规则配置。
   ![](https://support.huaweicloud.com/bestpractice-cdn/public_sys-resources/note_3.0-zh-cn.png)
   **如果您修改了缓存规则** ：
   - 新的规则仅对后面缓存的资源生效，已经缓存的资源需要等缓存过期后，再次缓存才会遵循新的缓存规则。
   
   - 如果您想要立即生效，请在修改缓存规则后执行缓存刷新操作。
     
 
 #### 强制缓存与缓存过期时间来源配合使用的不同结果说明
强制缓存功能决定CDN节点缓存过期时间是否忽略源站响应头Cache-Control中的no-cache、private、no-store字段，开启代表忽略，关闭代表不忽略。强制缓存与缓存过期时间来源功能配合使用，配合使用规则详见[表2]。
 表2强制缓存与缓存过期时间来源配合使用结果 
| 缓存过期时间来源   | 强制缓存 | 配置结果                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| 源站         | 关闭   | - 此时如果源站响应头Cache-Control设置了no-cache、private、no-store，CDN节点将不缓存资源。  - 如果源站设置了其他响应头，缓存优先级为s-maxage-\>max-age-\>expires。例如源站同时设置了Cache-Control：max-age=500 , s-maxage=400，此时CDN节点的缓存过期时间遵循s-maxage的值400s。  - 如果源站没有设置以上响应头，执行CDN控制台配置的缓存过期时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 源站         | 开启   | 此时忽略源站的不缓存设置，即源站响应头Cache-Control设置了no-cache、private、no-store时依然会缓存资源，缓存逻辑如下： - 如果源站响应头设置了缓存过期时间，缓存优先级为s-maxage-\>max-age-\>expires。例如源站同时设置了Cache-Control：max-age=500 , s-maxage=400，此时CDN节点的缓存过期时间遵循s-maxage的值400s。  - 如果源站没有设置以上响应头，执行CDN控制台配置的缓存过期时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| CDN        | 关闭   | - 如果源站响应头Cache-Control设置了no-cache、private、no-store，CDN节点将不缓存资源。  - 如果源站响应头Cache-Control未设置no-cache、private、no-store，执行CDN控制台配置的缓存过期时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| CDN        | 开启   | 此时忽略源站响应头，执行CDN控制台配置的缓存过期时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 源站和CDN的最小值 | 关闭   | 1. 最小值为CDN节点设置的缓存过期时间时，配置结果如下： - 如果源站响应头Cache-Control设置了no-cache、private、no-store，CDN节点将不缓存资源。  - 如果源站响应头Cache-Control未设置no-cache、private、no-store，执行CDN控制台配置的缓存过期时间。    2. 最小值为源站设置的缓存时间时，配置结果如下： - 此时如果源站响应头Cache-Control设置了no-cache、private、no-store，CDN节点将不缓存资源。  - 如果源站设置了其他响应头，缓存优先级为s-maxage-\>max-age-\>expires。例如源站同时设置了Cache-Control：max-age=500 , s-maxage=400，此时CDN节点的缓存过期时间遵循s-maxage的值400s。  - 如果源站没有设置以上响应头，执行CDN控制台配置的缓存过期时间。     |
| 源站和CDN的最小值 | 开启   | 1. 最小值为CDN节点设置的缓存过期时间时，忽略源站响应头，执行CDN控制台配置的缓存过期时间。  2. 最小值为源站设置的缓存时间时，忽略源站的不缓存设置，即源站响应头Cache-Control设置了no-cache、private、no-store时依然会缓存资源，配置结果如下： - 如果源站响应头设置了缓存过期时间，缓存优先级为s-maxage-\>max-age-\>expires。例如源站同时设置了Cache-Control：max-age=500 , s-maxage=400，此时CDN节点的缓存过期时间遵循s-maxage的值400s。  - 如果源站没有设置以上响应头，执行CDN控制台配置的缓存过期时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
#### 配置示例
**配置场景1**：某客户的域名"www.example.com"配置了CDN加速，缓存规则配置见下图。
![](https://support.huaweicloud.com/bestpractice-cdn/zh-cn_image_0000001823770177.png "点击放大")
配置结果：网站首页不缓存，所有页面均不会忽略URL参数。
**配置场景2：**设置某个类型的文件不缓存
1. 某客户的域名"www.example.com"配置了CDN加速，由于业务需求，需要对".do"格式的文件不缓存，同时所有文件都忽略URL参数。 需要在CDN控制台增加一条文件名后缀为".do"的缓存规则，缓存过期时间设置为"0"。
   ![](https://support.huaweicloud.com/bestpractice-cdn/zh-cn_image_0000001823770789.png "点击放大")
   ![](https://support.huaweicloud.com/bestpractice-cdn/public_sys-resources/note_3.0-zh-cn.png)
   新规则仅对后续资源缓存生效，新规则配置完成后，建议您刷新".do"文件所在的URL或者目录，新规则才可以对所有".do"文件生效。
   

2. 某客户配置了CDN加速，发现登录界面无限循环，无法登录，停用CDN加速后，可以正常登录。 这是因为CDN节点缓存了登录界面导致的，需要在控制台增加一条针对登录界面的缓存规则，缓存过期时间设置为"0"。以华为云控制台登录界面为例，华为云控制台的登录页面为"https://auth.huaweicloud.com/authui/login.html#/login"，在控制台增加一条全路径：/authui/login.html#/login，缓存过期时间为"0"的缓存规则。
   ![](https://support.huaweicloud.com/bestpractice-cdn/zh-cn_image_0000001777131104.png "点击放大")
   
**配置场景3：**某客户加速域名www.example.com设置了如下图的缓存规则，不知道哪一个规则生效。
![](https://support.huaweicloud.com/bestpractice-cdn/zh-cn_image_0000001148971324.png "点击放大")
用户访问www.example.com/test/cdn.jpg，虽然所有文件、文件名后缀、全路径三条规则都匹配到了，但是由于全路径的优先级为8，在三条规则里优先级最高，所以系统最终匹配全路径/test/\*.jpg这条规则。
