veImageX 支持您通过在域名管理中配置远程鉴权,实现将用户请求转发至您指定的鉴权服务器,由鉴权服务器对用户请求进行校验。校验通过则允许访问,校验失败则拒绝访问或进行其他您的自定义限制,该鉴权方式可有效避免您的资源被非授权用户访问。
如果您的站点有专属的鉴权服务器对用户请求进行鉴权,您可以在访问控制配置远程鉴权。
远程鉴权的流程如下:
说明
若您的远程鉴权配置项由于某些原因(如启用了非标配置)被锁定,锁定后界面将展示锁定图标。您可提交工单联系技术支持修改配置。
登录 veImageX 控制台,单击服务管理。选择相应的图片服务,单击基础配置。
在分发配置页签的域名信息中,单击域名的管理按钮。
在配置页面,单击访问控制并进入页面后。选择远程鉴权,单击编辑按钮。
设置状态为开启。并按照提示,完成各参数配置。
配置远程鉴权的参数分多个模块:
支持您添加一个或者多个规则,最多支持添加 50 个规则。如果一个请求匹配任何一个规则,该请求需要被鉴权。
说明
如果您需要对所有请求进行鉴权,可以添加一条规则并指定规则类型是目录匹配并设置规则为 /。
参数 | 说明 |
---|---|
规则类型 | 选择一个规则的类型。支持以下配置:
|
是否匹配 | 指定匹配的方式。支持以下配置:
注意 如果您添加了多条规则,这些规则需要设置为相同的匹配方式。 |
规则 | 输入一个或者多个配置项,多个配置项以英文分号(;)分隔。 配置项的要求如下:
|
指定鉴权服务器的配置。
参数 | 说明 |
---|---|
远程鉴权地址(主) | 鉴权服务器的主地址,长度不能超过 100 个字符,需要填写合法的域名或 IP。主地址必须采用以下格式之一:
注意 <scheme> 值需为 |
远程鉴权地址(备) | 鉴权服务器的备地址,长度不能超过 100 个字符,格式和输入要求与主地址相同。 |
请求路径 | 鉴权 URL 中的路径。鉴权服务器的地址和该路径组成了鉴权 URL。veImageX 会把用户请求转发到该鉴权 URL。支持以下配置:
|
鉴权路径 | 如果请求路径是指定具体请求路径,该配置才会出现。在该配置中,您指定一个鉴权路径。需要遵循的规则如下:
|
请求方法 | 在发送鉴权请求时 veImageX 所使用的请求方法。支持以下配置:
|
支持指定鉴权请求需要包含的参数。
参数 | 说明 |
---|---|
用户请求参数 | 表示哪些用户请求 URL 中的查询参数包含在鉴权请求中。支持以下配置:
|
参数清单 | 如果用户请求参数是保留部分参数,该配置才会出现。该配置表示用户请求 URL 中的哪些查询参数需要包括在鉴权请求中。需要遵循的规则如下:
|
添加鉴权请求参数 | 该配置表示您需要额外添加的查询参数。最多支持添加 50 个规则。
|
veImageX 提供了以下变量。
变量 | 说明 | 示例 |
---|---|---|
host | 表示用户请求中 Host 头的值。 | example.com:8080 |
ua | 表示用户请求中 User-Agent 头的值。 | Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail |
referer | 表示用户请求中 Referer 头的值。 | https://www.example.com/file?name=123 |
content_type | 表示用户请求中 Content-Type 头的值。 | text/html |
X-Forwarded-For | 表示用户请求中 X-Forwarded-For 头的值。 | 20.5.118.10 |
client_ip | 表示发送用户请求的 IP 地址。 | 15.15.15.10 |
scheme | 表示用户请求使用的协议。 | https |
server_protocol | 表示用户请求使用的协议的版本。 | HTTP/2.0 |
URI | 表示用户请求中的 URI,不包含查询字符串。 | /dir/page.php |
req_args | 表示用户请求中所有的查询参数。 | color=red&n=10 |
request_method | 表示用户请求使用的请求方法。 | GET |
request_uri | 表示用户请求中的 URI,包含查询字符串。 | /dir/page.php?color=red&n=10 |
local_ip | 表示在 veImageX 中,响应用户请求的边缘节点的 IP 地址。 | 267.89.0.45 |
req_time | 表示 veImageX 收到用户请求的时间。关于时间格式,请参见示例。 | 18/Apr/2022:16:48:48 +0800 |
msec | 表示当前的时间。格式是十进制的 Unix 时间戳。 | 1650558396 |
指定鉴权请求需要包含的请求头。
参数 | 说明 |
---|---|
HOST 请求头 | 鉴权请求中 HOST 头部的值。支持以下配置:
|
自定义请求 HOST | 如果HOST 请求头是自定义,该配置才会出现。在该配置中,您需要输入一个 HOST 头部的值。需要遵循的规则如下:
|
用户其他请求头 | 表示哪些用户请求中的请求头包含在鉴权请求中。支持以下配置:
|
头部清单 | 如果用户请求头是保留部分头部,该配置才会出现。该配置指定需要包含在鉴权请求中的请求头。多个请求头用分号 (;) 分隔。请求头大小写不敏感,不能是
|
添加鉴权请求头 | 该配置表示您需要额外添加的请求头。支持最多添加 50 个请求头。 |
请求头部名称 | 表示一个您需要添加的请求头。请求头是大小写不敏感的,不能是 Host ,长度不能超过 1,024 个字符。该请求头可以包含可打印 ASCII 字符,但不支持以下字符:下划线(_)、空格、双引号("),Delete(ASCII code 127)。 |
取值方式 | 表示该请求头的值是如何定义的。支持以下配置:
|
参数取值 | 表示该请求头的值。该配置的说明如下:
|
指定 veImageX 是如何处理鉴权服务器返回的鉴权结果,包含鉴权成功状态码、鉴权失败状态码、鉴权超时时间等参数。
说明
截图配置表示 veImageX 基于用户请求的 IP 地址和 URI 对鉴权结果进行缓存。其中,您在配置缓存 key 时必须包含 URI,否则系统无法判断鉴权结果所对应的请求文件。
参数 | 说明 |
---|---|
鉴权成功状态码 | 从鉴权服务器返回的状态码中,哪些被认为是鉴权成功。默认值是 200。
|
鉴权失败状态码 | 表示从鉴权服务器返回的状态码中,哪些被认为是鉴权失败。默认值是 401。
|
其他状态码 | 该配置表示在满足以下所有条件时,veImageX 对用户请求的处理方式。
支持以下配置:
|
鉴权结果缓存 | 表示 veImageX 是否缓存鉴权结果,也就是鉴权服务器返回的鉴权状态码。您可以设置该配置为 开启 或者 关闭。默认是 关闭。 说明 该配置可以提升 veImageX 响应用户请求的效率。 |
缓存时间 | 表示鉴权状态码的缓存时间,单位是秒。该配置仅在 鉴权结果缓存 为 开启 的情况下才出现。取值范围为 [1,86400] 。86,400 秒表示 24 小时。 |
缓存key | 表示缓存的鉴权状态码中所包含的字段。这些字段是您在该配置中定义的。每个鉴权状态码都有一个唯一的缓存key。该配置仅在 鉴权结果缓存 为 开启 的情况下才出现。 注意 缓存 key 中必须包含 URI 这个字段,不然 veImageX 无法判断鉴权结果所对应的请求文件。 |
响应客户端拦截状态码 | 表示鉴权失败时,veImageX 响应用户请求的状态码。默认的状态码是 403。取值范围为[400,499] 。 |
鉴权超时时间 | 表示鉴权请求的超时时间,单位是毫秒,默认值是 200。取值范围为 [200,3600]。 |
异常执行策略 | 该配置表示鉴权异常发生时,veImageX处理用户请求的方式。支持以下配置:
鉴权异常包括但不限于以下情况:
|