文档中心 下载分发 URL/协议改写

URL/协议改写

更新时间:2023-10-23 17:17:50

功能介绍

URL改写,支持CDN在接受到客户端请求时进行改写,支持重定向改写和CDN内部改写。CDN缓存及回源,默认使用的是改写后的URL。
网宿URL改写支持3种配置模式:

  1. 协议改写:无需配置待改写的URL,只需选择要改写的协议。
  2. 完整URL/正则:自定义配置待改写的URL,支持输入完整的URL或正则表达式。
  3. 组合生成正则:自定义配置待改写URL的请求协议,问号前的URI,及要匹配的问号参数,自动组合成待改写的URL的正则表达式。

操作步骤

  1. 登录网宿CDN控制台,选择域名所在的产品线。

  2. 选择域名,单击配置修改。

  3. 在自助配置界面选择:页面改写/重定向-URL/协议改写,单击添加

  4. 配置类型一: 协议改写
    此处的协议改写,是指节点收到客户端请求时就进行改写, 节点缓存或者回源时会使用改写后的URL&协议。 若仅是节点回源时进行协议改写,请到“回源协议改写”中配置回源协议改写。

    配置步骤:

    1) 配置生效范围,此处提供4种生效范围供选择:
    网宿2015年一季度互联网发展报告 大数据揭示中国互联网发展特征

参数 描述
所有请求 针对该域名下的所有请求都会生效此功能
仅首页 表示仅针对http://domain/或https://domain/这种根目录格式的请求生效此功能。
指定文件类型 可选择常用类型或自定义文件类型,多个文件类型之间以英文分号分隔。例如:ace;aac。表示此配置对此类文件类型均会生效
指定URI 可以设定针对URI的请求生效此功能。
不以“http://”或“https://”开头,仅配置URL中的URI部分;多条换行分隔。例如:完整URL为:http://www.test.com/browse/index.html,则配置内容为:/browse/index.html。
指定目录 可以设定仅部分目录下的请求进行访问控制。目录必须以“/”开头和结尾,由字母、数字及部分特殊符号(包含下划线、减号、百分号、点)任意组合;多个目录换行分隔。
例如:/file1/123/和/file2/1%1/表示http://加速域名/file1/123/和http://加速域名/file2/1%1/两个目录及目录下所有文件。

另外,可选配置进阶生效范围, 此配置项配置的内容,与“生效范围”中配置的内容,取交集则为此功能的生效范围。“例外”表示非,例如,例外的文件类型为jpg, 则表示除了jpg以外的其他文件类型。
网宿2015年一季度互联网发展报告 大数据揭示中国互联网发展特征

2) 配置功能参数

网宿2015年一季度互联网发展报告 大数据揭示中国互联网发展特征
参数说明

参数 描述 示例
协议改写 HTTP—>HTTPS;HTTPS—>HTTP HTTP—>HTTPS
改写模式 客户端重定向模式: CDN将改写后的URL重定向给客户端,由客户端重新发起请求,需配置“重定向状态码”;CDN内部改写模式:不会进行重定向,CDN直接返回改写后的文件给客户端。 客户端重定向模式+302
忽略大小写(非必配) 默认忽略大小写,若选择否,则表示http://www.abc.com/a.jpg和http://www.abc.com/A.jpg为不同的文件,严格匹配大小写的URL才会生效规则。
优先级 若一条请求同时命中多条改写规则,则优先级高的生效 10
  1. 配置类型二: URL改写
    网宿2015年一季度互联网发展报告 大数据揭示中国互联网发展特征
    网宿2015年一季度互联网发展报告 大数据揭示中国互联网发展特征
    参数说明

    参数 描述 示例
    待重写URL 有两种输入方式:以http/https开头的完整URL,例如:http://www.test.com/browse/index.html?aa=1;以http/https开头的正则表达式,例如(https://[^/]+)/.* http://www.test.com/browse/index.html?aa=1
    目标URL 有两种输入方式:以http/https开头的完整URL,例如:http://www.test.com/browse/index.html?bb=1;正则表达式,例如$1/zh-cn,$1表示待重写URL中第一个括号的内容。 http://www.test.com/browse/index.html?bb=1
    改写模式 客户端重定向模式: CDN将改写后的URL重定向给客户端,由客户端重新发起请求,需配置“重定向状态码”;CDN内部改写模式:不会进行重定向,CDN直接返回改写后的文件给客户端。 客户端重定向模式+302
    忽略大小写(非必配) 默认忽略大小写,若选择否,则表示http://www.abc.com/a.jpg和http://www.abc.com/A.jpg为不同的文件,严格匹配大小写的URL才会生效规则。
    优先级 若一条请求同时命中多条改写规则,则优先级高的生效 10

其中,在URL改写中,“组合生成正则” 可以根据客户的URL特征自动生成待改写的URL。具体说明如下:
网宿2015年一季度互联网发展报告 大数据揭示中国互联网发展特征
网宿2015年一季度互联网发展报告 大数据揭示中国互联网发展特征

  1. 指定URI:配置待改写的URI,不以“http://”或“https://”开头,不包含域名和问号参数,例如用户请求为http://www.test.com/browse/index.html时要进行改写。则此处需填写为/browse/index.html。
  2. 协议头: 配置哪些协议的URL要进行改写。
  3. 是否匹配问号参数:
    • 如果选择否,则只要同时满足 “指定URI”和“协议头”条件的URL就会进行改写。
    • 如果选择是,则需要在“问号参数”中填写参数,则同时满足“指定URI”,“协议头”和“问号参数”条件的URL就会进行改写。

例如:
网宿2015年一季度互联网发展报告 大数据揭示中国互联网发展特征
红框中的3个要素,为改写生效的条件,即:URI为http://domain/browse/index.html且携带问号参数包含key1和key2且key1在key2前面的的URL会被改写。
则:

  1. http://domain/browse/index.html?key1=1 不会被改写,因为未携带key2
  2. http://domain/browse/index.html?key2=1&key1=1 不会被改写,因为key1和key2的顺序不对
  3. http://domain/browse/test/index.html?key1=1&key2=2 不会被改写,因为URI部分不匹配
  4. http://domain/browse/index.html?key1=1&key2=2 改写为http://domain/test2/zh-cn
    http://domain/browse/index.html?key1=1&key3=3&key2=2 改写为http://domain/test2/zh-cn

注意事项

  1. 因为节点缓存和回源使用的是改写后的URL,因此改写后的域名需是网宿加速的域名。
  2. 协议改写:只能配置一条规则。 主要是为了避免一条请求同时命中HTTP—>HTTPS和HTTPS—>HTTP,可能导致的循环问题。 如要配置多条协议改写,请联系技术支持配置。
  3. URL改写:在控制台上新增的规则部署后,其改写类型默认为:改写类型:只改写一次(防盗链前), 表示命中此改写规则的URL,仅会进行此次改写,不会再匹配其他同样为“只改写一次”的规则, 同时,此改写规则在防盗链校验前生效,即,先做改写,后做防盗链校验。
    网宿2015年一季度互联网发展报告 大数据揭示中国互联网发展特征
  4. 一条请求同时命中两条“只改写一次”的规则,则只会有一条规则生效,优先级高的生效。 如需配置一条请求进行多次改写,或先做防盗链校验再做改写,请联系技术支持测试和配置。
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!