You need to enable JavaScript to run this app.
导航

回源路径改写

最近更新时间2024.01.12 15:10:33

首次发布时间2023.03.15 19:11:17

本文档介绍如何在火山引擎内容分发网络中配置回源路径改写。该配置允许对内容分发网络的回源路径进行改写。

说明

该功能目前以白名单的方式对外开放。如果您需要此功能,请提交工单

在源站上,假设某些用户经常访问的文件的路径发生了变更。此时,有以下几种解决方案:

  • 在源站配置 301 或 302 重定向,将内容的原 URL 重定向到新的 URL。同时,在内容分发网络中启用"回源重定向跟跟随"功能。

  • 不在源站做任何变更,而是在内容分发网络中配置 "URL 重定向改写"功能。如果用户请求了原 URL,内容分发网络会响应 301 或者 302 状态码,指示用户浏览器向新的 URL 发送请求。

  • 不在源站做任何变更,而是在内容分发网络配置 回源路径改写。如果用户请求了原 URL,内容分发网络在回源请求中会使用新的 URL。

本文档介绍的是第三种解决方案。

请求流程

在您对某个文件配置了回源路径改写后,请求的流程如下:

  1. 用户请求文件。

  2. 如果该文件未被缓存,内容分发网络根据配置,将用户请求 URL 中的路径改写成新的 URL 路径,然后向源站发起请求。

  3. 内容分发网络获取文件后,将该文件返回给用户。同时,内容分发网络缓存该文件。其缓存键中保存的是用户请求 URL。

操作步骤

  1. 登录 火山引擎内容分发网络控制台

  2. 在左侧导航栏,点击 域名管理

  3. 域名管理 页面,找到需要配置的域名,点击 管理。 页面上方的筛选条件和搜索框可以帮助您快速找到要配置的域名。

  4. 在域名页面上,点击 HTTPS 配置 页签。

  5. 在页面右上方,点击 回源配置

  6. 回源路径改写 下方,设置 状态开启

  7. 点击 添加改写规则。 您最多可以添加 50 条规则。

  8. 按照配置说明进行设置。

  9. 设置完成后,在页面右上角点击 提交编辑

alt

配置说明

配置说明
优先级表示规则的优先级。数字 1 的规则优先级最高。在收到请求时,内容分发网络按规则的优先级,从高到低尝试将请求与规则匹配。如果请求匹配了某一条规则,内容分发网络就停止匹配其余规则。您可以通过拖拽调整规则的优先级。

用户请求路径

表示一个字符串,长度不超过 1,024 个字符,用于匹配请求 URL 中的路径。路径不包含协议、域名和参数。

您可以在该配置中使用正则表达式。此时,该配置表示一个匹配规则。同时,您可以在正则表达式中指定组,组是由 () 包裹的。这些组可以在 CDN 回源路径 配置中被引用。例如,^/aaa/bbb/(.*) 表示路径 /aaa/bbb/ 下的所有目录和文件。该例子包含了一个组。

CDN 回源路径

表示改写后的路径。路径的要求如下:

  • 长度不超过 1,024 个字符。

  • 必须以斜杠(/)开头。

  • 不能包含连续斜杠(//)、百分号(%)、空格、问号(?)。

  • 不包含协议、域名和查询字符串。

默认情况下,内容分发网络会将请求 URL 中的查询字符串添加到实际的回源 URL 中。

如果 用户请求路径 配置中包含了正则表达式并且正则表达式包含了一个或者多个组,您可以在 CDN 回源路径 配置中使用 $<n> 指定需要使用的组。$1 表示第一个组,$2 表示第二个组,以此类推。此时,该配置表示一个匹配规则。

就基于 用户请求路径 配置中的例子,假设您指定的回源路径是 /ccc/$1/ccc/$1 表示的路径是以 /ccc/ 开头。路径的其余部分就是 用户请求路径.* 表示的路径部分。如果用户请求 URL 是 https://www.example.com/aaa/bbb/test/myfile.png,回源请求 URL 会被改写为 https://www.example.com/ccc/test/myfile.png