七层策略
HTTP策略
点击【SLB本地负载-策略配置-七层策略】进入七层策略页面,选择头部页签HTTP策略可查看HTTP策略列表。 点击“新增”或“修改”按钮可进入HTTP策略编辑页面。
- 各字段含义如下:
HTTP访问控制策略:如果需要限制客户端请求的访问,则应选择此策略。
是否支持WebSocket协议:开启或关闭WebSocket协议。
设置X-Forwarded-For:用X-Forwarded-For透传客户端IP地址。
源地址转换:
接口IP地址:将访问源地址转换成系统IP地址。
指定地址池:将访问源地址转换成指定地址池中的IP地址。
虚拟服务IP地址:将访问源地址转换成虚拟服务IP地址。
会话保持策略:选择会话保持策略。
Host头部传递策略:可选择不同的规则修改发往服务器的HTTP请求中的Host头部。
添加请求头部:在请求头中添加字段。
修改请求头部:支持通过正则匹配替换请求头,支持的变量如下表所示。
删除请求头部:从HTTP请求中删除指定名称的Header。
HTTP协议版本:与服务器通讯的HTTP版本。
修改转发URL:为空时表示不修改URL;支持通过正则匹配替换转发URL,支持的变量如下表所示。
URI去前缀:例如url为“/a/b/c”,填入“/a”将url替换为“/b/c”。注意:“修改转发URL”规则优先于“URI去前缀”规则执行。
响应Server头部值:修改HTTP响应的Server头部。
添加响应头部:在响应头中添加字段。
修改响应头部:支持通过正则匹配替换响应头,支持的变量如下表所示。
删除响应头部:从HTTP响应中删除指定名称的Header。
是否替换响应包体:开启或关闭响应包体内容替换。
匹配MimeType:响应头中的Content-Type与所选MimeType匹配时才会进行内容替换;可输入创建选项并选择
内容替换:例如“aaa”替换为“bbb”,不区分大小写,最多添加5个。
是否多次替换:关闭时只替换第一次匹配的内容,开启时替换全部内容。
变量名 | 描述 |
---|---|
uri | ?号之前的请求URI |
url | 含?号所有参数之后的完整url |
args | ?号之后的所有参数 |
arg_key | URL参数中名为key的参数的值 |
http_key | 请求中名为key的头部的值 |
cookie_key | 请求cookie中名为key的头部的值 |
client_addr | 客户端真实地址 |
remote_addr | TCP或者UDP会话中的对端地址 |
time | LOCAL格式的当前时间 |
注意
免费版用户不支持替换响应包体功能。
HTTP访问策略
对于七层负载均衡,如果需要在转发至服务器池前,控制客户端请求的RPS访问速度、并发连接数、Auth Basic访问密码、IP黑白名单等配置,就可以使用HTTP访问控制策略。
HTTP访问控制策略被HTTP策略使用。
点击【SLB本地负载-策略配置-七层策略】进入七层策略页面,选择头部页签“访问策略”可查看访问策略列表。 点击“新增”或“修改”按钮可进入访问策略编辑页面,
- 各字段含义如下所示:
白名单IP:允许的客户端IP
黑名单IP:禁止的客户端IP
基本认证Realm:可以使用Auth Basic协议实现简单认证
用户鉴权服务器地址:由第三方服务完成请求鉴权后(返回200响应码),再代理到服务器池。
并发数超限返回错误码:当并发连接超过limit_conn时的HTTP返回错误码。
最大并发请求数:并发处理请求数最大值,可以点击“不限制”复选框,不限制并发处理请求数。
最大并发延迟请求数:达到最大并发请求数后,在此范围内的请求不会立刻失败, 而是在负载均衡上排队等待,不限制表示达到最大并发请求时 reject 新请求。
每秒最大处理请求数:每秒处理请求数最大值,可以点击“不限制”复选框,不限制每秒处理请求数。
每秒最大处理延迟请求数:达到每秒最大处理请求数后,在此范围内的请求不会立刻失败, 而是在负载均衡上排队等待,不限制表示达到最大处理请求时 reject 新请求。
窗口时间内最大并发请求:窗口时间内最大并发请求数最大值,可以点击“不限制”复选框,不限制窗口时间内最大并发请求数。
窗口时间内最大并发延迟请求数:达到窗口时间内最大并发请求数后,在此范围内的请求不会立刻失败, 而是在负载均衡上排队等待,不限制表示达到最大并发请求时reject新请求。
QPS超限返回错误码:当某个客户端请求接收速率超过limit_req_rate后的HTTP返回错误码。
最大并发请求数:并发处理请求数最大值,可以点击“不限制”复选框,不限制并发处理请求数。
最大并发延迟请求数:达到最大并发请求数后,在此范围内的请求不会立刻失败, 而是在负载均衡上排队等待,不限制表示达到最大并发请求时 reject 新请求。
每秒最大处理请求数:每秒处理请求数最大值,可以点击“不限制”复选框,不限制每秒处理请求数。
每秒最大处理延迟请求数:达到每秒最大处理请求数后,在此范围内的请求不会立刻失败, 而是在负载均衡上排队等待,不限制表示达到最大处理请求时 reject 新请求。
窗口时间内最大并发请求:窗口时间内最大并发请求数最大值,可以点击“不限制”复选框,不限制窗口时间内最大并发请求数。
窗口时间内最大并发延迟请求数:达到窗口时间内最大并发请求数后,在此范围内的请求不会立刻失败, 而是在负载均衡上排队等待,不限制表示达到最大并发请求时reject新请求。
压缩策略
对于七层负载均衡,当需要将文件压缩后再传输给客户端时,就需要使用到压缩策略。目前压缩策略提供2种压缩算法:GZIP和BROTLI。
压缩策略在虚拟服务的HTTP/HTTPS协议下被引用。
点击【SLB本地负载-策略配置-七层策略】进入七层策略页面,选择头部页签“压缩策略”可查看访问压缩列表。 点击“新增”或“修改”按钮可进入压缩策略编辑页面,
- 各字段含义如下所示:
协议类型:目前支持Gzip算法和Brotli算法
压缩级别:指定算法的压缩级别
最小压缩长度:小于此长度的Body不会被压缩
缓存大小:流式压缩过程中的缓存大小
压缩类型:仅对这些类型进行压缩,可以选择多种类型,例如text/html text/plain
缓冲区大小个数:基于流式压缩响应内容时,配置的内存压缩缓冲区
缓存策略
点击【SLB本地负载-策略配置-七层策略】进入七层策略页面,选择头部页签缓存策略可查看缓存策略列表。 点击“新增”或“修改”按钮可进入缓存策略编辑页面,
- 各字段含义如下:
X-Cache头部:开启后,命中缓存时,添加此头部告知客户端命中缓存。
Age头部:是否添加Age头部,告诉客户端缓存还有多久过期。
Data头部:开启后,若服务器返回响应不包含Date,则自动添加Date头部。
启发式Expire过期时间:不包含Cache-Control,但包含If-Modified-Since,使用它缓存。
缓存对象大小:限制缓存对象大小范围。
URL参数:开启或拒绝URL缓存。
可缓存的Mime Types:多选允许缓存的Mime Types,如果为空,则表示缓存所有类型。
不可缓存的Mime Types:多选不可缓存的Mime Types。
缓存过期时间:仅缓存时间在此范围内的对象才使用。
点击“淘汰”按钮,可查被缓存的内容列表,可根据URL、域名、转发引擎筛选项过滤缓存条目: 对列表某一项点击淘汰,可淘汰这条缓存。
注意
免费版用户不支持缓存策略功能。