更新时间:2021-06-09 16:23:12
网宿HTTP头功能支持在四个方向上(CDN回源请求头,CDN回客户端响应头,CDN接受源响应头,CDN接受客户端请求头)对HTTP头进行新增头部、替换头部值和删除头部。
大部分场景下,主要是在回源请求和回客户端应答这两个方向上进行头部增删改。
登录网宿CDN控制台,选择域名所在的产品线。
选择域名,单击配置修改。
在自助配置界面选择:HTTP协议优化-HTTP头,单击修改。
配置此条规则的生效范围:具体类型。此处提供4种生效范围供选择:
1)指定常用类型: 全部文件、首页
2) 指定文件类型。 网宿提供常用的文件类型供选择,也可以自行输入文件类型。匹配该文件类型的请求,匹配设定的错误码后会进行重定向。
3)指定目录。可以设定仅部分目录下的请求,匹配设定的错误码后会进行重定向。
4) 指定URI。可以设定仅部分URL的请求资源在CDN节点都遵循相同的缓存规则。
选择操作类型
可以选择新增(新增HTTP头)、替换(替换HTTP头的值)和删除(删除HTTP头)。
选择要新增/替换/删除的HTTP头。
1) 当操作类型选择“新增”和“替换”时,一条规则只能配一个HTTP头;选择“删除”时,一条规则可以配置多个HTTP头。
2) 网宿提供多种场景的HTTP头供选择:
HTTP头 | 描述 | 示例 |
---|---|---|
Expires | 指定程序响应对象的过期时间。 | Expires:Wed, 21 Oct 2021 07:28:00 GMT |
Content-Type | 指定程序响应对象的内容类型。 | Content-Type:image |
Content-Language | 用于定义页面所使用的语言代码。 | Content-Language: zh-CN |
Content-Disposition | 用来激活浏览器的下载,同时可以设置默认的下载的文件名。服务端向客户端浏览器发送文件时,如果是浏览器支持的文件类型,如 TXT、JPG 等类型,会默认直接使用浏览器打开,如果需要提示用户保存,则可以通过配置 Content-Disposition 字段覆盖浏览器默认行为 | Content-Disposition:attachment;filename=FileName.txt |
Cache-Control | 指定程序请求和响应遵循的缓存机制。 | Cache-Control:no-cache |
Access-Control-Max-Age | 指定跨域请求时,对特定资源的预请求返回结果的缓存时间。 | Access-Control-Max-Age:1728000 |
Access-Control-Expose-Headers | 指定跨域请求时,客户端可见的头部集合。默认情况下只可见6个基本字段:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。如果想拿到其他字段,就必须在Access-Control-Expose-Headers里面指定。 | Access-Control-Expose-Headers: Content-Length,X-My-Header |
Access-Control-Allow-Origin | 用于解决资源的跨域权限问题,域值定义了允许访问该资源的域,若来源请求 Host 在域名配置列表之内,则直接填充对应值在返回头部中。也可以设置通配符 “*”,允许被所有域请求。 | Access-Control-Allow-Origin:* |
Access-Control-Allow-Methods | 指定跨域请求时,允许的跨域请求方法。 | Access-Control-Allow-Methods: POST, GET, OPTIONS |
3) 如果要增删改的头部不在列表中,则可以选择“自定义”,可以输入自定义的HTTP头。
4) 当操作类型选择“替换”或“删除”时,若选择“正则匹配”为是,则可以在“自定义HTTP头”的输入框中输入正则表达式。匹配此正则表达式的头部则进行替换/删除。
当操作类型为“新增”时,需配置“新值”。 即新增的HTTP头的值。
当操作类型为“替换”时,“新值”必配,“旧值”选配。
1) 若未配置旧值,则表示不匹配旧值,该头部的所有旧值都替换为此处设置的新值。
2) 若配置了旧值,则表示需要匹配该旧值的头部,才会进行值的替换。
选择控制方向。 即,要在哪个方向上进行HTTP头的新增/替换/删除。
配置完毕,单击确认,然后单击下一步。
为了避免影响线上业务,建议先预部署测试效果,单击预部署。
预部署成功后,可以获取到对应的测试节点,可以host节点进行测试。
Host测试后,确保配置无误,则单击直接部署,预计需要3-5分钟的部署时间。