IP黑白名单

更新时间:2024-07-12 18:12:19

在通信网络中,IP 地址是唯一的,并在整个请求过程中保持不变。当客户端向 CDN 边缘服务器发起请求时,CDN 边缘服务器可以获取客户端的 IP 地址。因此,可以利用 IP 地址进行访问控制。在收到来自客户端的请求后,CDN 节点会检查客户端的 IP 地址,然后根据特定规则允许或拒绝用户请求。

IP 访问规则适用于以下场景:

  • 当检测到某些 IP 地址有异常访问行为时,例如盗链或某些攻击,可以将这些 IP 地址添加到黑名单中。因此,这些 IP 地址对 CDN 节点的访问尝试将被直接拒绝。
  • 当基于 IP 地址限制对加速内容的访问时,例如只允许公司内部员工访问并拒绝公司外部人员访问,可以将公司的固定出口 IP 地址添加到白名单中。因此,来自白名单以外的 IP 地址的访问尝试将被直接拒绝。
  • 当基于地理区域限制对内容的访问时,例如只允许纽约地区的用户查看或下载,并拒绝其他地区的用户访问,可以使用区域访问权限功能。

如何设置IP黑白名单

  1. 登录CDNetworks控制台, 选择对应的产品。
  2. 进入自助配置页面,找到要设置的域名,点击修改配置Self-Service Configuration for China Premium Service Onboarding
  3. 选择左侧配置导航栏的访问控制-IP黑白名单,并单击添加
  4. 根据您的需要,配置以下配置项。

生效范围
访问的生效范围,即配置针对哪些请求进行Referer防盗链的访问控制。这里我们提供如下生效范围供您选择。

配置项 说明
所有请求 即该访问控制规则,将所有类型的请求都生效。
仅首页 仅针对域名根目录格式的请求生效,比如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生效。

规则类型
您可以设置IP黑名单或者IP白名单。

类型 说明
IP黑名单 您可以通过设置IP黑名单来禁止某些IP或者IP段访问您的内容。我们支持如下四种配置:
自定义:您可以自定义您的IP黑名单,将指定的IP地址和IP段添加到黑名单中,添加后,这些IP地址和IP段被禁止访问您的内容。
支持同时添加IP地址和IP段,当有多个IP地址和IP段时,应使用;进行分隔。例如,1.1.1.1;1.1.0.0/24
全部IP: 所有的IP地址都将被禁止访问。
全部IPv4:仅IPv4地址被禁止访问。
全部IPv6:仅IPv6地址被禁止访问。
在已禁止的IP地址或者IP段中,如果需要允许某些IP访问,您可以通过配置例外IP/IP段来添加这些例外IP。支持添加多个例外的IP地址和IP段,并应使用;分隔。
自定义和例外IP/IP段均支持IPv6地址,我们建议您使用完整的非缩写格式录入IPv6,例如:2001:DB8:0:23:8:800:200C:417A2001:0DB8:0000:0023:0008:0800:200C:417A
IP白名单 您可以通过设置IP白名单,来允许仅某些在白名单内的IP地址或IP段才能访问您的内容。支持同时添加IP地址和IP段,当有多个IP地址和IP段时,应使用;进行分隔。

最多只支持添加一条IP白名单配置。当您有多个白名单规则时,请添加在同一条白名单配置中。

控制动作
当客户端的IP不符合设定的规则,用户的请求被CDN拒绝时,直接返回错误码还是跳转到其他URL。其中:

  • 禁止访问:访问校验不通过的请求,CDN返回403。
  • 跳转URL:访问校验不通过的请求,CDN返回跳转的URL。您需要在跳转到URL中指定URL跳转的页面。

优先级
当您配置了多条访问控制规则,CDN将按照优先级大小先后执行,数字大的规则将被优先执行判断。

部署到线上

  1. 完成上述配置后,请点击确认,然后选择下一步提交您的配置。为了避免配置影响您的生产环境,我们推荐您先预部署,把配置生效到测试环境中。测试环境与线上环境完全隔离,确保不会对您的线上服务造成任何影响。预部署完成后,我们将提供测试环境的IP地址,您可以通过设置本地HOST将域名绑定到这些IP地址,以验证配置的有效性。关于预部署测试的更多细节,请参考相关教程通过预部署来验证配置是否生效
  2. 当配置确定无误后,单击直接部署将配置正式生效到线上环境,通常约3-5分钟后,配置将正式生效到线上环境。

配置示例

示例一:配置IP黑名单
禁止IP地址为1.1.1.12.2.2.2的终端用户访问http://cdnetworks/browse/index.html.

示例二:配置IP白名单
仅允许IP地址为1.1.1.12.2.2.2的终端用户访问http://cdnetworks/browse/index.html.

示例三:URL永久封禁
即不允许任何终端用户访问http://cdnetworks/browse/index.html。此配置生效期间,该URL对应的内容将会一直被封禁。如果需要解禁该URL对应的内容,需要删除此配置。

注意事项

请您不要同时配置IP黑白名单,否则可能会导致所有的CDN访问均被拒绝,从而会对您的线上业务带来影响。
例如,当按照下图的方式同时配置IP黑名单和IP白名单,会导致所有访问均被CDN拒绝。

为什么所有访问都会被拒绝?

  1. 当请求来自IP1.1.1.1时,因为其匹配IP黑名单规则,该访问会被CDN拒绝。
  2. 而来自其他IP的请求,虽然不会被黑名单规则拒绝访问,但会因为不符合白名单规则(仅允许IP地址为1.1.1.1的终端用户访问)而被拒绝。

如果您确实需要同时配置黑白名单,请联系我们的技术支持来协助您确认。

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!