又拍云CDN服务支持多项功能自定义配置,您可以根据自身业务需要进行设置,优化您的CDN加速效果或配合实现某些业务逻辑。
功能说明
查看引导
在同一个服务下面,如果回源地址相同(也即共用同一个源站),此时可以绑定多个自有域名。除常规形式的域名外,还支持绑定多个泛域名,比如:*.yourdomain.com。特别地,其中*最多支持匹配4层:
[√]*.yourdomain.com=>foo.yourdomain.com[√]*.yourdomain.com=>bar.yourdomain.com[√]*.yourdomain.com=>foo.bar.yourdomain.com[√]*.yourdomain.com=>foo.bar.baz.yourdomain.com[√]*.yourdomain.com=>foo.bar.baz.qux.yourdomain.com[x]*.yourdomain.com=>foo.bar.baz.qux.quxx.yourdomain.com[√]*.bar.yourdomain.com=>foo.bar.yourdomain.com[√]*.bar.yourdomain.com=>baz.foo.bar.yourdomain.com[x]*.bar.yourdomain.com=>foo.bar.baz.yourdomain.com提示:以上[√]特指泛域名对应的正确示例,反之[x]为不正确的。
操作引导
1.绑定域名
第一步:点击【域名绑定】按钮
第二步:填写待添加的域名
点击【添加】按钮,即可添加待绑定的域名。
第三步:查看已添加域名的状态
如果此时已经添加的域名为【正常】状态,则已审核通过,如果为【拒绝】状态,则此时域名可能未备案,未被审核通过。
2.删除域名
第一步:点击【删除】按钮
第二步:待删除域名确认
点击【删除】按钮即可将该域名进行删除。
注意事项
为了配合又拍云存储以及CDN服务使用,又拍云提供了测试域名,仅用于测试服务的可用性。关于测试域名的使用规范及注意事项,这里说明如下:
源站设置主要是对资源文件的回源地址进行管理以及配合源站实际资源情况进行一些更高级的设置,包括主备线路、端口号、轮询权重等。其中,回源地址支持IP源站和域名源站,例如:
IP:1.1.1.1域名:src.example.com针对回源地址为域名源站的情况,CDN节点会进行一次DNS解析,解析到的IP即为真实的回源地址。
回源协议
回源协议顾名思义也就是CDN节点回源使用的协议。默认情况下,CDN会以HTTP协议回源,您也可以采用HTTPS协议回源。
配置引导
通过配置项可以看到,CDN有三种回源方式,分别为:
1、HTTP回源
默认采用HTTP协议回源,此时回源地址的端口号默认为80。
2、HTTPS回源
也可以选择HTTPS协议回源,选择HTTPS协议回源时,端口号会变为443端口。
3、协议跟随
当启用该特性时,回源协议始终会和客户端访问CDN的协议保持一致,即客户端用HTTP协议访问CDN,那么CDN回源时也会用HTTP协议进行回源,同样,若采用HTTPS访问,那么回源也是HTTPS。
源站证书校验
表示回源会校验源站SSL证书的合法性,会校验证书是否过期、证书域名是否匹配、是否是自签名证书,如果校验不通过,则会拒绝访问,这样极大的保障了回源安全性。
线路配置
默认情况下,轮询权重都为1,表示所有回源地址轮询到的概率均等。当然也可以如上图那样自定义轮询权重,我们看到主线路两个回源地址权重分别是1和2,此时主线路集群在轮询调度中会有1/3的概率回192.168.11.1:80这个地址,而回192.168.11.2:80这个地址的概率则为2/3。即当前回源地址轮询到的概率可按(当前节点权重/集群所有节点权重之和)这个公式计算。
该配置是指CDN节点回源过程中所需访问的源站服务器Web站点资源的访问域名。CDN节点回源时会在HTTP请求头Host字段里替换该域名,以支持源服务器可通过此Host做的特殊处理逻辑,一般是域名形式的字符串,当然也支持任意字符串形式。
如上截图所示,回源Host配置为:src.image.upyun.com
1.回源Host为可选配置项,默认为空。特别地,如果该自定义值为空,子域名的回源Host为所配置的加速域名,泛域名回源Host为访问域名;
2.自定义配置:您可以根据业务情况配置回源Host,满足特定业务需求;
源站资源迁移功能的场景是无缝将用户源站静态资源迁移到又拍云存储上来,当下次终端用户访问相同资源时,CDN将直接返回已经迁移到云存储上的资源文件,而无需回用户自主源,可减小自主源压力,也方便进行资源文件的无缝迁移。
实现机制
进行资源迁移需要考虑如下两种场景:
1)某个资源未迁移之前,会优先回存储,其次回自主源,最终进行资源迁移,详细访问流程参见如下图所示:
大致的访问流程为:
2)某个资源迁移成功之后,直接访问云存储,不再进行资源迁移,访问流程参见如下图所示:
大致的访问流程是:
源站资源迁移功能包括三种状态,分别是开启、暂停、关闭,默认为关闭状态。详细描述如下:
开启状态
开启之后,当CDN节点缓存失效或未命中时,会优先回又拍云存储获取资源,如果又拍云存储返回4XX、5XX状态码时,则直接回自有源站获取资源并响应给最终用户。与此同时,资源会被扔进资源迁移队列并进行存储,下一个相同的资源请求过来时则会直接由存储命中的资源直接提供服务。
暂停状态
直接关闭源站资源迁移功能,可能会导致回自主源压力过大,在暂停状态下,不会进行资源迁移动作,访问资源时,仍然先访问又拍云存储,如果又拍云存储返回4XX、5XX状态码时,则会访问自主源站。也即资源访问的流程不变,只不过不会进行资源的迁移操作,起到了一个缓冲的作用。
关闭状态
该功能关闭之后,新的请求过来的话,CDN节点不会回又拍云存储平台获取资源,而会直接回客户源站获取资源。
在配置的过程中,您需要配置资源路径,指定某些资源进行迁移,例如需要指定html、mp4、flv、jpg、png等资源进行迁移。如截图所示:
配置示例为:
/*.html/*.mp4/*.flv/*.jpg/*.png值得注意的是,该项如未配置,则默认迁移服务下面的所有静态资源文件。
该步骤需要确保您已经创建了一个云存储服务,否则无法配置成功。我们会通过下拉列表的形式展示当前账号下已创建的云存储服务,以供选择。如截图所示:
确保以上配置正确之后,点击配置界面右下角的【确定】按钮即可。
第一步:依次进入配置管理、回源管理页面
进入功能配置页面:
进入回源管理配置页面:
第二步:在回源管理模块,找到【离线模式】配置项
点击【确定】按钮,即可开启离线模式功能。
进入【功能配置】页面
进入【回源管理】配置页面
自定义缓存配置
进入缓存过期管理配置界面
进入自定义缓存过期配置界面
1.根据文件类型设置缓存过期策略
2.根据文件目录设置缓存过期策略
3.全局缓存过期策略配置
注意事项:
默认配置模板
首页:/缓存12小时;目录页:/*/缓存12小时;图片文件:/*.(jpg,jpeg,png,bmp,gif,psd,ico,tga,imb,tiff)缓存7天;文本文件:/*.(txt,doc,wri,docs,css,js,dot,xml,log,bat,csv)缓存1天;音视频文件:/*.(wav,mp3,wmv,rmi,aac,mp4,rmvb,mkv,avi,flv,swf,rm,mov,movie,qt)缓存7天;下载类文件:/*.(exe,ios,apk,ipa,pxl,sis,cab,deb,rar,zip,gzip,tar,7z,bzip2,dmg,gz,wim,tbz,tpz,z,jar)缓存7天;4.URI带参数配置缓存过期策略
以上规则中,后面跟随的就是参数筛选规则;*特指通配符,如不需配置通配符,可以使用具体资源路径,如下规则所示:
关于后面的参数筛选规则配置请参考如下分类:
注意:
不缓存配置
根据业务情况,可以针对一些动态资源文件(例如:php、jsp、asp、do、cgi、action、json等)强制配置不缓存,详细配置可参照如下所示:
/*.(asp,php,jsp,do,json)配置不缓存
默认缓存策略
在没有匹配到自定义缓存规则且源站也没有返回任何有效缓存头的情况下,我们的默认配置策略如下:
1.针对静态资源,所有正常状态码(大于等于200小于400)均缓存8天。特别地,301响应缓存2小时,302响应缓存20分钟
2.针对动态资源,程序会自动识别,则不进行缓存
3.对于其他大于等于400的不正常响应,则不进行缓存
缓存优先级
请根据具体缓存优先级情况合理配置缓存策略,又拍云CDN加速平台目前的缓存优先级如下:
不缓存配置(后台设置)>自定义缓存配置(后台配置)>源站缓存配置>默认缓存策略。
针对使用又拍云存储服务的客户,我们暂时不支持缓存配置的自定义设置,我们默认给出了一个默认的缓存配置规则,具体如下:
对于正常的状态码(大于等于200小于400):8天
对于其他大于等于400的不正常响应缓存5分钟
动静自动分离
针对使用自有源的CDN服务而言,当没有匹配到自定义缓存规则且源站也没有返回任何有效的缓存头时,我们就会对回源内容进行动静内容识别。特别地,我们会根据响应头中的Content-Type字段和URL中的文件后缀名来判断是否是静态内容,其中Content-Type匹配优先级高于文件后缀名。
参考列表
以下是我们维护的一份Content-Type和文件后缀名列表,若满足匹配我们就认为是静态内容:
Content-Type列表
text/csstext/javascriptapplication/javascriptapplication/x-javascriptimage/gifimage/pngimage/jpegimage/webpimage/tiffimage/x-iconimage/x-ms-bmpimage/svg+xmlapplication/font-woffapplication/java-archiveapplication/mswordapplication/pdfapplication/postscriptapplication/zipapplication/octet-streamapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/vnd.openxmlformats-officedocument.presentationml.presentationaudio/mpegaudio/oggaudio/x-m4avideo/mp4video/x-flvvideo/x-m4v文件后缀名列表
CDN提供参数过滤配置等选项,您可以根据实际业务情况,控制是否对访问或者回源URL中的带“?”后的参数进行过滤操作。参数跟随功能包括三种模式,分别是参数不跟随、全程跟随、回源跟随,系统默认为全程跟随模式。一般情况下,根据业务情况,建议选择参数不跟随来提高资源文件缓存命中率。详细介绍如下:
参数不跟随
说明:开启后,系统会过滤请求中的查询字符串,并且查询字符串不会传递给源站
示例:(访问)/foo.jsa=1&b=2=>(缓存)/foo.js=>(回源)/foo.js
全程跟随
说明:开启后,将不再过滤请求中的查询字符串,并将查询字符串传递给源站
示例:(访问)/foo.jsa=1&b=2=>(缓存)/foo.jsa=1&b=2=>(回源)/foo.jsa=1&b=2
回源跟随
说明:开启后,会过滤请求中的查询字符串,在访问回源阶段会将查询字符串传递给源站
示例:(访问)/foo.jsa=1&b=2=>(缓存)/foo.js=>(回源)/foo.jsa=1&b=2
如上图所示,用户可以根据业务情况来合理选项。
注意:参数跟随功能,可以配合缓存过期配置功能来使用。
通常CDN节点是以整条URL为粒度对文件进行缓存的,然而URL中参数的不同排列组合使得CDN节点会将同一份文件缓存多份,开启参数顺序识别功能之后,可以使得资源文件只缓存一份,从而提高资源文件的缓存命中率。
实现原理
例如下方两条URL,对应的资源文件是相同的,CDN节点是分开缓存的:
如上图所示,点击【确定】即可开启。
分段缓存功能使得缓存的基本单位变成了块,并且在缓存块大小以及回源请求大小上可以采用不同粒度进行控制,最终实现按块缓存,按需回源。
开启该功能可有效降低大文件回源率,也可以提高文件在CDN节点的缓存命中率,同时避免了拉取完整文件导致的源站带宽浪费。特别地,开启该特性之后,CDN节点会以Range请求回源。
默认配置:该特性会默认开启,您可以有选择性的关闭该特性。特别地,我们针对分段缓存预置了文件后缀模板,默认预置后缀如下:
视频:AVI、MP4、FLV、MOV、3GP、ASF、WMV、MPG、F4V、M4V、MKV、VOB、M3U8、TS、RMVB、DAT、RM音频:MP3、OGG、M4A、WMA、AIF、AU安装包:APK、ZIP、EXE、RAR、IPA、PXL、DEB、SIS、SISX、JAR、XAP游戏下载:SO、CUE、CCD、MDS、IMG、7Z其它:CAB、DHP、GZ、ISO、MPQ、PBCV、PXL、QNP、R00、XY、XY2追加自定义:为了方便灵活配置,也即可以根据文件后缀或者通配符规则来配置是否开启分段缓存功能,如截图所示:
在该配置界面,您可以填写资源路径,然后点击【添加】按钮,保存即可。路径规则支持*通配符,例如:
/a/*.mp4/b/*.apk/*/123/*配置效果
1.开启分段缓存
2.关闭分段缓存
3.分段缓存预加载
点击界面右边的【管理】按钮即可开始配置:
在此配置界面,可以对已配置的缓存策略进行管理操作,也可以点击右上角的【添加配置】按钮,新增配置策略,如图:
/a/*.mp4/b/*.apk/*/123/*也可以为文件后缀格式,例如:
/*.(txt,doc,wri,docs,css,js,dot,xml,log,bat,csv)/*.(wav,mp3,wmv,rmi,aac,mp4,rmvb,mkv,avi,flv,swf,rm,mov,movie,qt)注意事项
WebP自适应功能是CDN平台智能判断客户端浏览器是否支持WebP解码,如支持则返回WebP格式图片,否则返回原图,客户端以及源站无需任何改动。开启该特性,可以有效节省CDN传输带宽,加速图片渲染速度。
如何实现?
WebP自适应大致的处理流程如下:
1.CDN如何判断客户端是否支持WebP
CDN是通过HTTPAccept头来判断的,如果支持,则返回WebP副本并进行缓存;如果不支持,则返回原图。以Chrome浏览器为例:
accept:image/webp,image/apng,image/*,*/*;q=0.8如上列表可以看出,当Accept请求头里面如果有image/webp字段,则说明客户端支持WebP解码。
2.CDN如何实现实时图片格式转换?
针对用户源站并非WebP格式图片的时,CDN层需要支持将原图图片的实时转换为WebP格式副本,这个在CDN层面是无缝支持的。流程是这样的:
这里值得强调的是,又拍云CDN已经无缝兼容了各种作图场景和访问方式,具体包括:
在配置界面,滑动右边的按钮,在确定对话框下,点击【确定】按钮即可一键开启。
H.265自适应功能是CDN平台智能判断客户端是否支持H.265解码,如支持则返回H.265格式视频,否则返回原始视频。通过部署H.265视频,可提升终端用户观看体验,减少网络传输带宽。
H.265自适应大致的处理流程如下:
2.CDN节点判断是否有H.265缓存副本,如有则直接响应给客户端;
3.节点如果没有缓存副本,则回源站获取资源,如有,则返回H.265视频资源并在CDN节点缓存;
4.如果没有,则返回原始视频资源,并缓存6分钟,缓存过期之后会回源探测。
CDN如何判断客户端是否支持H.265解码
CDN当前识别客户端是否支持H.265解码是通过HTTP请求头:Accept-Encoding:h265来判断的,CDN收到该请求之后,再去判断CDN节点是否有H.265缓存副本,否则直接返回原始视频资源。请求识别流程如下截图所示:
又拍云CDN平台支持视频文件的码率适配限速功能,通过自动分析当前视频文件传输的码率,将视频文件的传输速度控制在视频码率范围之内,可以在一定程度上防止高峰期时带宽占用,节省成本。限速举例:一开始不限速,当播放时长超过3秒时,进行1.1倍码率限速。该功能可支持的配置包括:
1)添加规则
依次进行如下操作:
在配置界面,依次需要进行资源路径、限速策略、限速因子的配置。
举例:
假如某视频码率为1337Kbps,则视频的下载速度为:
(1337/8)*1.1=183KB/s配置完所有配置项之后,点击左下角的【保存】按钮即可。
2)编辑、删除规则
如下图所示,可以在操作区域点击【编辑】、【删除】按钮即可编辑和删除规则。
开启后,会自动去除HTML文件中非必要的字符(空白、注释等),自动压缩文件大小,提升访问速度。
特别地,目前仅支持HTML页面的优化。
配合DNS调度,基于内容和精准IP的精确调度方案,该调度模块可以获取最终用户真实的IP地址和内容地址,使用HTTP协议里面的302跳转功能,分配最优的CDN边缘加速节点给最终用户。
经过HTTP302调度之后的资源请求地址的变化参照如下示例:
原始访问地址:
默认配置:该特性会默认开启,您可以有选择性的关闭该特性。特别地,我们针对HTTP302调度功能预置了文件后缀模板,默认预置后缀如下:
视频:AVI、MP4、FLV、MOV、3GP、ASF、WMV、MPG、F4V、M4V、MKV、VOB、M3U8、TS、RMVB、DAT、RM音频:MP3、OGG、M4A、WMA、AIF、AU安装包:APK、ZIP、EXE、RAR、IPA、PXL、DEB、SIS、SISX、JAR、XAP游戏下载:SO、CUE、CCD、MDS、IMG、7Z其它:CAB、DHP、GZ、ISO、MPQ、PBCV、PXL、QNP、R00、XY、XY2追加自定义:为了方便灵活配置,也即可以根据文件后缀或者通配符规则来配置是否开启该功能,如截图所示:
/a/*.mp4/b/*.apk/*/123/*注意事项
原理介绍
一般情况下,当CDN节点回源站请求文件时,若源站返回的是HTTP301/302的响应,CDN节点会将该响应返回给客户端,客户端根据响应头中的Location头信息进行再次请求。配置了【重定向跟随】功能之后,访问流程如下图所示:
3)CDN节点对重定向之后对目标URL发起请求;
4)源站响应内容给最终用户,并将内容在CDN节点进行缓存;
根据服务下具体业务情况,可以有选择性的关闭和开启海外加速,默认为开启状态。海外地区特指除中国大陆以外的地区,包括港澳台地区。
开启状态下,海外请求会默认解析到又拍云海外CDN节点,计费按海外地区定价计算;
关闭状态下,海外请求会默认解析到又拍云国内CDN节点,计费按国内地区定价计算。
关闭状态下,海外请求会解析到国内CDN节点,可能会影响到海外地区终端用户的访问体验。
又拍云CDN智能压缩功能包括Gzip和Brotli压缩算法。开启该功能,可对静态文件类型进行压缩,有效减少用户传输内容大小,加速分发效果。为了配置的灵活性,支持压缩等级的设置,关于压缩等级的说明如下:
满足条件
触发实际的Gzip及Brotli压缩行为需要同时满足如下条件:
1、Content-Type满足以下列表其中之一:
text/plaintext/javascripttext/csstext/xmltext/x-componentapplication/javascriptapplication/x-javascriptapplication/xmlapplication/jsonapplication/xhtml+xmlapplication/rss+xmlapplication/atom+xmlapplication/x-font-ttfapplication/vnd.ms-fontobjectimage/svg+xmlimage/x-iconfont/opentype2、Content-Length大于256字节;
3、客户端请求头带了Accept-Encoding:gzip,br。
状态一:同时关闭Gzip和Brotli
该状态下,CDN不支持Gzip和Brotli。
状态二:只开启Gzip
该状态下,CDN仅支持Gzip压缩。
状态三:只开启Brotli
该状态下,CDN仅支持Brotli压缩。
状态四:同时开启Gzip和Brotli
如果客户端同时都支持Gzip和Brotli,CDN会优先使用Brotli压缩算法。
关于压缩等级
又拍云存储和自主源站CDN加速服务均支持JS,CSSCombo(组合特性),即可以把多个JS,CSS请求合并成一个。
如何使用
特别地,我们以!!作为分隔符。
又拍云HTTPS加速服务建立在自主研发的内容分发网络基础之上,全面支持了HTTPS协议加速。通过会话重用及会话保持、在线证书状态检查、协议优化、SSL协议握手优化、HTTP/2等技术手段,全面提升了HTTPS协议加速性能。
第一步:依次进入:服务管理>功能配置>HTTPS,点击管理即可开始配置。如下图所示:
第三步:可选择是否开启HTTPS访问和强制HTTPS功能。在开启HTTPS访问后,可通过点击修改切换域名所对应的证书,点击详情可查看相应证书的详细信息;
“HTTPS访问”:开启该功能后,客户端才能使用HTTPS协议进行访问,默认关闭。
“强制HTTPS”:勾选此功能后,又拍云边缘节点收到用户的HTTP请求后会将其强制跳转到HTTPS进行访问。默认:兼容用户的HTTP和HTTPS请求。
备注:其中HTTPS配置也可以在SSL证书管理里面配置,参见下文SSL证书管理部分。
自有证书添加
如果域名当前已有证书,又拍云提供了自有证书的上传方式,无需人工协助,安全便捷。
第一步:进入SSL证书服务,工具箱->SSL证书服务->证书管理->添加自有证书
第二步:粘贴证书内容:
点击保存之后,可查看SSL证书信息如下图所示:
SSL证书管理
“HTTPS访问”:开启该功能后,客户端使用HTTPS协议访问时才能成功,默认关闭。
HSTS(HTTPStrictTransportSecurity,HTTP严格传输安全),是一套由互联网工程任务组发布的互联网安全策略机制。网站可以通过配置HSTS,来强制浏览器使用HTTPS与网站通信,保障网站更加安全。
进入规则管理页面,如下图所示:
点击【添加规则】按钮,即可开始配置规则:
HTTP/2即超文本传输协议2.0,是下一代HTTP协议,在CDN控制台您可以灵活进行HTTP/2特性的开启和关闭。
又拍云CDN服务当前已全平台支持HTTP/2。HTTP/2是在HTTPS协议的基础上实现的,只要使用又拍云HTTPS加速服务的域名,都可免费享受HTTP/2服务。又拍云控制台关于HTTP/2的配置支持三种模式的设置,分别是:
默认开启HTTP/2特性,包括采用二进制格式传输数据、对消息头采用HPACK进行压缩传输、多路复用等特性,但不包括ServerPush特性。
如需关闭HTTP/2特性,可以选择关闭,请根据要求合理关闭。
该模式下,支持HTTP/2的所有特性,其中ServerPush特性需要根据业务需求合理配置。
特别强调的是,ServerPush是HTTP/2规范中引入的一种新技术,也即服务端在没有被客户端明确的询问下,抢先的“推送”一些网站资源给客户端。该特性只要被正确的使用,可以达到很好的页面访问效果。
1)开启HTTP/2
默认已经开启,如截图所示:
注意:当且仅当开启HTTPS加速时,HTTP/2特性才会生效。
2)关闭HTTP/2
如需关闭HTTP/2特性,可以在控制台关闭,点击【关闭HTTP/2】按钮,然后点击【确定】即可保存配置。如截图所示:
3)开启HTTP/2+ServerPush
如下截图所示,点击【开启HTTP/2+ServerPush】按钮,配置匹配路径以及推送资源,然后点击【确定】即可保存配置。
其中,在配置项里面,【匹配路径】是必填项,【推送资源】是非必填项。
匹配路径:也即ServerPush特性仅针对匹配的URI生效,示例为:
/index.html/admin.html推送资源:表示匹配URI后将要推送的资源的PATH(不包括HOST部分),示例为:
Link:;rel=preload;as=style注意事项
Link:;rel=preload;as=style如果在CDN端进行自定义ServerPush配置,优先级会高于源站设置的Link首部。
又拍云HTTPS加速服务是基于SNI技术实现的,因此某些不支持SNI的浏览器或客户端访问可能出现问题。支持SNI的客户端列表如下:
TLS1.3是TLS协议中最新、最快和最安全的版本,相比旧版的TLS协议增加了多项新功能。通过简化SSL握手,提高了建连速度,减少了延迟。并通过移除有安全隐患的加密算法,提高了用户访问的性能、效率和安全性等等。目前TLS1.3已在CDN全平台支持,您可以根据业务需求合理关闭和开启。
如何使用?
1、如何在浏览器(客户端)中开启TLS1.3?
目前最新版本的Chrome和Firefox都支持TLS1.3,但是都需要手动开启,主要原因是TLS1.3还在草案阶段。
1)如何在Firefox中手动启用TLS1.3?
MozillaFirefox用户可以通过以下方式在Firefox中启用TLS1.3支持(请注意,Nightly默认支持TLS1.3,而FirefoxStable需要专门配置以支持TLS1.3)。
2)如何在Chrome中手动启动TLS1.3?
GoogleChrome用户可以通过以下方式在Chrome中启用TLS1.3支持(注意:Chrome62之前的版本需要将MaximumTLSversionenabled改为TLS1.3)
2、如何在又拍云CDN(服务端)控制台开启TLS1.3?
最低TLS版本也即当访问者通过TLS访问域名时,被允许访问的最低TLS版本。当前默认配置为TLSv1.0,基于PCIDSS安全标准,可以选择最低TLS版本为TLSv1.1。
应用场景
PCIDSS最新合规标准已于2018年6月30日生效,该标准要求禁用低版本TLS协议(例如:TLSv1.0),HTTPS配置应实施更安全的加密协议(TLSv1.1或更高版本,强烈建议使用TLSv1.2),以满足PCIDSS最新合规标准的要求,从而保护支付数据。
模式一:TLSv1.0
配置界面如下图所示:
选择该模式时,TLS访问可以支持TLSv1.0、TLSv1.1、TLSv1.2、TLSv1.3(如果该功能已开启),该选项为默认配置项。
模式二:TLSv1.1
选择该模式时,则使用TLSv1.0连接的访问者将被拒绝,仅支持使用TLSv1.1、TLSv1.2、TLSv1.3(如果该功能已开启)连接,请谨慎开启!
模式三:TLSv1.2
选择该模式时,则使用TLSv1.0、TLSv1.1连接的访问者将被拒绝,仅支持使用TLSv1.2、TLSv1.3(如果该功能已开启)连接,请谨慎开启!
模式四:TLSv1.3
选择该模式时,则使用TLSv1.0、TLSv1.1、TLSv1.2连接的访问者将被拒绝,仅支持使用TLSv1.3(如果该功能已开启)连接,请谨慎开启!
若需要禁止某些IP或只允许某些IP访问,则可以使用IP黑白名单功能;
1.配置IP黑名单
点击【开启IP黑名单】按钮,填写待加入黑名单的单个IP或者IP段,例如:
192.168.1.1192.168.2.*192.168.3.*如下截图所示:
配置完毕,点击右下角的【确定】按钮,即可保存生效。
1.配置IP白名单
点击【开启IP白名单】按钮,填写待加入白名单的单个IP或者IP段,例如:
193.168.5.1193.168.6.*193.168.7.*如下截图所示:
1.支持*通配符,如10.11.12.*,将禁止或允许10.11.12.0~10.11.12.255的IP访问;
2.IP黑白名单上限100条,被禁止的IP访问资源时,将提示403;
3.IP黑名单和IP白名单不能够同时配置,特别地,配置完白名单之后,其他都为IP黑名单,请谨慎操作。
地区访问限制是指根据加速网站的需求,允许或禁止特定区域的终端用户对网站资源的访问。即网站指定地区,允许该地区终端用户访问,而限制其他地区用户访问,或者相反。
1.配置地区黑名单
点击【启用黑名单】按钮,填写待加入黑名单的国家、地区、运营商信息,例如:
1韩国2泰国3澳大利亚如下截图所示:
2.配置地区白名单
点击【启用白名单】按钮,填写待加入白名单的国家、地区、运营商信息,例如:
1中国辽宁电信2中国香港3中国北京4中国广东电信如下截图所示:
白名单:仅允许名单中的域名网站访问文件,其他域名网站都不允许访问。
黑名单:仅禁止名单中的域名网站访问文件,其他域名网站都允许访问。
特别地,默认【允许Referer为空】这种情况会绕过防盗链的逻辑;若启用【禁止Referer为空】,那么这类请求就直接被禁止访问。
1.配置referer黑名单
点击【启用黑名单】按钮,填写待加入黑名单域名或者域名段,例如:
www.upyun.comimage.upyun.com*.upyun.com如下截图所示:
2.配置referer白名单
点击【启用白名单】按钮,填写待加入白名单域名或者域名段,例如:
www.baidu.comwww.taobao.comwww.163.com如下截图所示:
CDN支持针对HTTP请求头中的User-Agent信息,禁止或者允许符合特定User-Agent规则的请求。具体使用的场景,举个例子:
1)某个资源或者页面不希望被IE或者Chrome浏览器访问,此时您可以配置User-Agent黑名单就可以实现;
2)某客户端拥有自己专属的客户端对资源进行下载,该下载工具在请求时,使用了定制的User-Agent名称,或只允许此类User-Agent请求资源,此时可以配置User-Agent白名单就可以实现。
1.User-Agent白名单配置
选择【开启白名单】按钮,填写待配置的白名单列表,如下所示:
Mozilla/4.0(Windows;MSIE6.0;WindowsNT5.2)Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.0)Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.0;Trident/4.0)Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0)Mozilla/5.0(compatible;WOW64;MSIE10.0;WindowsNT6.2)配置截图如下:
配置完毕,点击右下角的【确定】按钮即可。
2.User-Agent黑名单配置
选择【开启黑名单】按钮,填写待配置的黑名单列表,如下所示:
Mozilla/5.0(Android;Mobile;rv:14.0)Gecko/14.0Firefox/14.0Mozilla/5.0(Android;Tablet;rv:14.0)Gecko/14.0Firefox/14.0Mozilla/5.0(WindowsNT6.2;WOW64;rv:21.0)Gecko/20100101Firefox/21.0Mozilla/5.0(X11;Ubuntu;Linuxx86_64;rv:21.0)Gecko/20130331Firefox/21.0配置截图如下:
Token防盗链的实现原理可参见如下图所示:
如上图所示,整个token防盗链的实现需要如下几个部分来配合:
1)客户端:负责发送原始请求给客户端业务服务器以及发送带签名的URL给CDN节点进行验证;
2)业务服务器:根据约定的算法生成带_upt参数的URL返回给客户端;
1、签名参数
etime=1370000000+600=1370000600URI='/dir/pic.jpg'sign=MD5(secret&etime&URI)=xxxxxxxxxxxxabcdefghyyyyyyyyyyyy_upt=MD5(secret&etime&URI){中间8位}+etime=abcdefgh1370000600最后经过客户端业务服务器生成的URL为:
1.客户端业务服务器生成验证信息
验证信息的生成由业务服务器负责,具体的加密过程需要确认如下事项:
2.又拍云CDN节点验证过程
如上截图所示,此处填写的密钥也即与CDN平台约定的签名密钥。
回源鉴权是一种高级的防盗链方式,适用于对防盗链有很高实时性要求的场景。大概原理是CDN边缘节点每次接受到请求之后,都需要回客户源站进行验证,验证通过之后才认为是合法请求,这样CDN可以继续提供服务。
点击右上角的【添加鉴权配置】,即可进入配置界面,如下图所示:
资源地址
需要进行鉴权的匹配规则集,支持域名级别配置,示例如下:
test123.upyun.com/video/*服务器地址
也即鉴权URL,鉴权业务服务器地址,格式为:
scheme://host:port/path示例如下:
向鉴权服务器发起请求的方法。目前仅支持GET和POST,截图选择GET方法。
鉴权参数
鉴权所需参数,也即请求URL里面的参数,假如请求URL为:
accountIDDuserTDtokensign具体参数个数,根据业务情况进行配置。
鉴权方式
约定的鉴权通过的状态码或者响应体内容,其中状态码不能为5XX,响应体内容不能为空。例如:示例鉴权通过的状态码为200。
鉴权服务器连接超时
当服务器失去响应时,此字段生效。为true时认为所有请求都通过鉴权,默认是鉴权通过。
该功能表示能够提交的最大请求body限制,适用于POST和PUT请求。默认为512M,用户可以根据业务实际情况将此值调小,例如设置为1M。默认情况下,网站服务器是不限制请求body大小的,这样很容易会被黑客利用并进行DDoS攻击,黑客可以利用这一点往HTTPPOST的body中传递非常大(比如几十M)的请求,可能导致服务端无法对外提供服务。
在配置界面,根据业务要求,填写配置内容,然后点击【确定】按钮即可。
适用于动态资源加速,全静态资源加速建议不启用该功能。
配置步骤如下:
第一步:填写访问的资源路径规则,支持*通配符,如:/a/*.mp4、/b/*.flv
第二步:选择限制方式:直接禁止
CC防护主要是针对网络安全领域中的CC攻击而进行的一种应用层攻击防护,该功能通过自定义匹配规则对目标资源进行监控,当请求频率达到触发频率时对疑似攻击请求进行校验,校验通过则允许访问;校验不通过,则直接禁止访问。
点击右上角的【添加防护策略】,出现如下配置界面:
具体配置可以走如下四个步骤:
强制防护
也就是忽略频率阈值,针对匹配的URI直接进行校验,校验通过则放行检验不通过则拒绝访问;
智能防护
针对匹配到的URI进行访问频率阈值的判断,达到阈值则进行校验,校验通过则放行,校验不通过则拒绝访问。
暂停防护
防护规则失效,不进行频率统计和请求校验。
1.CC防护分为强制防护和智能防护两种模式,在智能防护模式下,则会匹配URI规则,请求一旦达到访问频率阈值,则会触发JavaScript校验,校验通过则可正常访问,校验不通过则直接拒绝。在强制防护模式下,则会忽略访问频率阈值,直接触发JavaScript校验,以此类推;
2.在智能防护模式下,访问阈值设置得过低,可能不会触发JavaScript校验,建议阈值设置高一些。
WAF(WebApplicationFirewall)的中文名称叫做Web应用防火墙,是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一项功能。主要防护的是来自对网站源站的动态数据攻击,可防护的攻击类型包括SQL注入、XSS攻击、CSRF攻击、恶意爬虫、扫描器、远程文件包含等。
如上配置界面,点击【确定】按钮即可开启。
具体配置字段做如下说明:
Access-Control-Allow-Origin
返回的资源需要有一个Access-Control-Allow-Origin头信息,也可以设置通配符*,允许被所有域使用。语法如下:
Access-Control-Allow-Origin:|*
Access-Control-Allow-Methods
表示允许的跨域请求的方法,在当前请求的域被允许后,还要检查当前请求的方法是否被允许,示例如下:
Access-Control-Allow-Methods:POST,GET,OPTIONS
Access-Control-Allow-Headers
也是在响应预检请求的时候使用,用来指明在实际的请求中,可以使用哪些自定义HTTP请求头,比如:
Access-Control-Allow-Headers:X-PINGOTHER,X-UPYUN
这样在实际的请求里,请求头信息里就可以有这么一条:
X-PINGOTHER:hello
Access-Control-Expose-Headers
设置浏览器允许访问的服务器的头信息的白名单,示例如下:
Access-Control-Expose-Headers:X-My-Custom-Header,X-Another-Custom-Header
这样,X-My-Custom-Header和X-Another-Custom-Header这两个头信息,都可以被浏览器得到。
Access-Control-Max-Age
这个头告诉我们这次预请求的结果的有效期是多久,单位为秒,设置示例如下:
Access-Control-Max-Age:864000
表明在864000s(10天)内,对该资源的跨域访问不再发送另外一条预请求。
1.最多支持添加10条规则,匹配时从第一条开始逐条匹配,以最早匹配上的规则为准
2.允许的域、AllowHeader、ExposeHeader最多允许20行
3.允许的域及Methods建议根据需要使用最小的配置来保证安全性,多条规则间不要有覆盖和冲突
5.AllowHeader、ExposeHeader不允许使用通配符,大小写不敏感
{"code":"40310002","msg":"regionisforbidden"}1、CDN业务端支持的配置项包括:
当在又拍云控制台配置了IP黑白名单、地区访问限制功能,触发该规则时会直接返回自定义的页面。
当在又拍云控制台配置了User-Agent防盗链、Referer防盗链、Token防盗链功能,触发该规则时会直接返回自定义的页面。
当在又拍云控制台配置了回源鉴权功能,触发规则(包括鉴权失败、鉴权错误)时会直接返回自定义的页面。
当在又拍云控制台配置了IP访问限制、WAF防护、HTTP请求大小限制功能,触发规则时会会直接返回自定义的页面。
当在又拍云控制台配置了边缘规则访问控制功能,触发规则时会直接返回自定义的页面,当前仅针对403、404状态码有效。
CDN服务被关闭时,可以根据要求自定义页面。
2、源站匹配的状态码包括:
表示该请求报文中存在语法错误,导致源站无法理解该请求。
该状态码表明对请求资源的访问被源站拒绝了。
该状态码表明源站上无法找到指定的资源。
指出请求方法对某些特定的资源不允许使用,也即客户端的请求被源站拒绝了。
表示请求的URI过长,源站无法处理时返回此代码。
客户端包含了一个源站无法满足的Range头信息的请求。
源站遇到了一个未曾遇到的错误(内部服务器错误),导致无法完成对请求的处理。
源站不支持客户端请求中所要求的功能时返回此代码。
源站作为网关或者代理服务器尝试执行请求时,从远端服务器接收到错误或者无效的请求。也即错误的网关。
由于临时的服务器维护或者过载,源站当前无法处理请求。
源站作为网关或者代理服务器尝试执行请求时,未能及时从远端服务网收到响应。也即网关超时。
点击【管理】按钮进入配置面板:
点击右上角的【添加规则】,进入规则配置界面:
/custom/error-page.html自定义页面的资源所绑定的域名必须是访问域名,否则会访问到错误的位置,也即:当客户端请求为:
在配置管理界面,可以编辑、删除和查看配置规则,如下图所示:
确保配置的规则没有问题之后,点击【确定】按钮即可保存配置。
支持自定义错误状态设置,目前支持403、404、405错误码自定义提示图的设置。如未设置,则默认遵循又拍云CDN服务默认错误状态提示图。
403提示图
当用户设置了例如IP禁用、Referer等防盗链配置并且当前的请求与规则不匹配时,即会响应403给客户端,表示该次请求被禁止。另外,若该服务设置了自定义403提示图,那么此类情况下就会响应一个302跳转到相应的图片。
404提示图
当请求的文件不存在时,会响应404状态码,可通过自定义提示图来展示。
405提示图
正常使用中的服务,若被人为地设置为禁止外链,此时访问就会响应405状态码。同样,405也支持自定义提示图设置。
点击界面右边的【管理】按钮即可设置,设置界面如下:
在该配置界面,可以选择感叹号(!)、中划线(-)、下划线(_)作为间隔标识符,默认为感叹号(!)。
针对使用CDN服务或者云存储服务的用户,可以使用自定义版本作图,具体使用格式参见如下表格。
1.创建缩略图版本
创建缩略图版本,填写基本信息。
根据要求,设置水印参数,如下图所示:
根据要求,设置输出信息,如下图所示:
最终的访问URL可为:
2.创建图片信息版本
图片信息版本内容包括:图片基本信息(图片宽度、高度、帧数、格式)和EXIF信息,具体设置参见下图:
填写版本名称,点击右下角的【确定】按钮即可。
又拍云CDN服务支持对响应头Content-Disposition字段的特殊设置,也即在请求URL中加入_upd参数可对Content-Disposition进行特殊化配置。通过对该参数的配置就可以强制浏览器触发下载行为,同时该参数的值会作为文件下载后保存到本地的文件名。特别地,当其值为true时,保持原文件名不变。
示例一:
特别地,参数跟随开启的情况下,此参数无效。
1、X-Real-IP传递用户IP
使用该方式传递最终用户IP,需要服务端代码进行一些改造,网站需要根据使用编程语言的不同,修改相应的代码模块,才可以传递最终用户IP。代码示例如下:
示例一:PHP代码
回源请求头会默认传递X-Forwarded-For的值,用户网站无需任何改造。
1、新增加速服务时我们会默认使用X-Real-IP和X-Forwarded-For方式,网站只需要按照“如何使用”章节中,对原先的用户IP获取代码进行替换即可;
2、由于X-Real-IP是又拍云CDN服务特有的回源请求头,故终止CDN后,网站需将获取用户IP的代码修改为原始代码;
3、在选择使用X-Forwarded-For进行最终用户IP传递时,X-Real-IP、Client-IP也是同时传递的;
默认错误码介绍
{"code":"xxxxxxxx","msg":"xxxxxxxxxxxxxxx"}其中code代表错误码,为8位数字组成,例如:40310012代表触发了IP黑名单规则;msg代表错误描述,例如:remoteaddressisforbidden,也即客户端IP被禁止访问。您可以根据CDN返回的错误码和描述来判断触发了何种规则,进而更方便的定位问题。
默认错误码一览表
现将CDN平台部分可开放的错误码进行如下归类:
3.常见回源错误
其中xx可能是00、01、02、03、04。00表示UNKNOWN,01表示又拍云存储,02表示用户自主源,03表示CDN代理层,04表示作图服务。
如何辨别
方式一
如果您通过浏览器访问,您可以通过浏览器页面查看到一段错误代码,例如:
{"code":"40310002","msg":"regionisforbidden"}如上错误代码及描述则说明用户在CDN侧配置了地区访问限制策略。
方式二
通过curl命令可以看到X-Error-Code响应字段,则可以看出触发了何种错误。