更新时间:2024-07-17 17:27:19
Cookie是网站为了识别用户身份和跟踪会话而存储在用户本地终端的数据。当用户再次访问同一网站时,浏览器会自动将存储的Cookie发送到服务器,这使得服务器能够通过Cookie信息实现访问控制。当CDN节点接收到来自客户端的请求时,它会检查HTTP请求头中的Cookie字段,并根据预设的Cookie黑白名单,决定允许或禁止某些用户的请求。
生效范围
访问的生效范围,即配置针对哪些请求进行Cookie黑白名单的访问控制。这里我们提供如下生效范围供您选择。
配置项 | 说明 |
---|---|
所有请求 | 即该访问控制规则,将所有类型的请求都生效。 |
仅首页 | 仅针对域名根目录格式的请求生效,比如http://domain/ 或https://domain/ 。 |
指定文件类型 | 仅对特定类型的文件生效,您可以在左侧选择对应的文件类型,也可以自定义文件类型。对于自定义文件类型,多个文件类型之前请通过分号; 分割,例如:jpg;png 。 |
指定URI | 访问控制仅对指定URI的内容请求生效,这里我们提供两种URI匹配模式,精准匹配和忽略参数匹配。精准匹配:指定完整的URI,包括参数。比如,path/index.html?abc=123 。忽略参数匹配:仅填入问号前的路径,无需指定参数。比如,path/index.html 。 |
指定目录 | 仅对部分目录下的请求进行访问控制,比如,当配置为/file/abc/ 表示对http://domain/file/abc/* 下所有的内容都会生效。注意:目录必须以/ 作为开头和结尾,只能包含由字母、数字及部分特殊符号(包含下划线、减号、百分号、点)任意组合,当有多个目录时,目录间需要进行换行分隔。 |
URL正则匹配 | 通过正则表达式来控制生效范围。比如*.jpg$ 代表访问控制将对所有的以jpg 结尾的URL生效。 |
规则类型
您可以设置Cookie黑名单或者Cookie白名单。
类型 | 说明 |
---|---|
Cookie黑名单 | 当请求的Cookie中包含特定内容时,将禁止访问指定生效范围内的资源。 |
Cookie白名单 | 只有当请求的Cookie中包含特定内容时,才允许访问指定生效范围内的资源。 |
该配置需要通过正则表达式来指定Cookie的内容,例如,
GOOGLE=70238C3E
代表匹配所有Cookie中含有GOOGLE=70238C3E
的请求。
最多只支持添加一条Cookie白名单配置。当您有多个白名单规则时,请添加在同一条白名单配置中。
控制动作
当请求携带的Cookie不符合设定的规则,用户的请求被CDN拒绝时,直接返回错误码还是跳转到其他URL。其中:
允许空Cookie访问
配置白名单后,是否允许cookie为空的请求访问。
优先级
当您配置了多条访问控制规则,CDN将按照优先级大小先后执行,数字大的规则将被优先执行判断。
示例一:配置Cookie黑名单
对于某域名下的所有请求,如果请求中的 Cookie 包含 aaa
,则将禁止访问。
对于某域名下的所有请求,如果请求中的 Cookie 包含 bbb
或者 ccc
,则将禁止访问。
示例二:配置Cookie白名单
对于某域名下的所有请求,如果请求中的 Cookie 包含 aaa
或者 bbb
,则允许访问。
请您不要同时配置Cookie黑白名单,否则可能会导致所有的CDN访问均被拒绝,从而会对您的线上业务带来影响。
例如,当按照下图的方式同时配置Cookie黑名单和Cookie白名单,会导致所有访问均被CDN拒绝。
为什么所有访问都会被拒绝?
aaa
时,因为其匹配Cookie黑名单规则,该访问会被CDN拒绝。aaa
,不会因黑名单规则而被拒绝访问,但会因为不符合白名单规则(仅允许Cookie含aaa
的请求访问)而被拒绝。如果您确实需要同时配置黑白名单,请联系我们的技术支持来协助您确认。