• 沒有找到結果。

3.3 高级转发策略(独享型)

3.3.3 配置高级转发策略

操作场景

独享型负载均衡开启高级转发策略功能后,ELB实例会根据您配置的高级转发策略将不 同的请求按照不同的方式处理。

每条高级转发策略必须包含转发规则和动作。

● 支持的转发规则有:域名、URL、HTTP请求方法、HTTP请求头、查询字符串、

网段。详见转发规则类型。

● 支持的动作类型有:转发至后端服务器组、重定向至监听器、添加重定向至 URL、返回固定响应。详见动作类型。

● 支持域名类型转发规则以*.开头。

● 支持单条转发策略中添加多个转发规则。

● 支持转发策略排序。

约束与限制

● 高级转发策略开启后不允许关闭。

● 一个高级转发策略支持添加10个条件(所有转发规则的条件之和)。

开启高级转发策略

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击页面左上角的 ,选择“网络 > 弹性负载均衡”。

4. 在“负载均衡器”界面,单击需要添加转发策略的负载均衡器名称。

5. 切换到监听器页签,单击目标监听器名称。

6. 在页面右侧“基本信息”中,单击“开启高级转发策略”

7. 单击“确定”。

添加高级转发策略

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击页面左上角的 ,选择“网络 > 弹性负载均衡”。

4. 在“负载均衡器”界面,单击需要添加转发策略的负载均衡器名称。

5. 切换到监听器页签,单击目标监听器名称。

6. 单击目标监听器右侧的 按钮,选择“设置转发策略”。

或者直接单击页面右侧的“转发策略”,进入到转发策略页签。

7. 在右侧“转发策略”子页签中,单击“添加转发策略”。

www.example.com

URL 触发转发的URL。

● 可以并列添加多个URL。

请求的URL和设定URL完全一 致。

– 前缀匹配

请求的URL匹配已设定URL开 头的URL。

– 正则匹配

请求的URL和设定的URL正则 表达式匹配。

/login.php

HTTP请求

方法 触发转发的HTTP请求方法。主要分 为以下几种:

GET、POST、PUT、DELETE、

PATCH、HEAD、OPTIONS 可以并列设置多个请求方法。

GET

HTTP请求 字和特殊字符!#$%&'()*+,.

\/:;<=>?@[]^-_'{|}~。

● 键(key):

Accept-Language

● 值(value):zh-CN

locale

● 值(value):zh-cn

网段 触发转发的请求网段。 192.168.1.0/24 动作 转发至后 好的HTTPS监听器上。

需要配置监听器。 户端通过HTTP请求访问的时候,后端服 务器会返回HTTPS的响应,即强制以 HTTPS请求访问网页。因此实际以 HTTPS监听器的配置为准向后端服务器 进行转发,原有HTTP监听器的配置就无 效了。

-参数 说明 样例 重定向至URL 如果满足转发策略条件,则将请求

重定向至配置好的URL。

客户端访问ELB网址A后,ELB返回 302或者其他3xx返回码和目的网址 B,客户端自动跳转到网址B,网址B 可自定义。

需要设置如下参数:

● 协议:可以选择“${protocol}”

或“HTTP”或“HTTPS”。$

{protocol}表示与源协议相同。

● 域名:至少包含两个字符串,字 符串间以点分割,字符串只能由 英文字母、数字、中划线和小数 点组成。字符串必须以英文字母 或数字开头,不能以中划线结 尾。${host}表示与源域名相同。

● 端口:取值范围是1~65535。$

{port}表示与源端口相同。

● 路径:由英文字母、数字和特殊 字符_~';@^-%#&$.*+?,=!:|\/()[]

{}组成,只能由/开头。${path}

表示与源路径相同。

● 查询字符串:只能包含英文字 母、数字额特殊字符!$'()*+,./:;=?

@&^-_',&仅支持作为分隔符使 用。

● 返回码:可以选择“301”、

“302”、“303”、“307”、

“308”。

说明

协议、域名、端口和路径至少设置一 条。

协议:HTTP

域名:www.example1.com 端口:8081

路径:/index.html 查询字符串:

locale=zh-cn 返回码:301

返回固定 响应

如果满足转发策略条件,则返回固 定响应。

用户访问ELB实例后,ELB直接返回 响应,不向后端服务器继续转发,

返回响应的状态码和内容可以自定 义。

需要设置如下参数:

● 返回码:只能由数字组成,默认 以2、4、5开头,且总长度为3个 字符。

● Content-Type:可以选择“text/

plain”、“text/css”、“text/

html”、“application/

javascript”、“application/

json”。

● 响应正文:非必填项。

返回码:200

Content-Type:text/

plain

响应正文:服务器访 问正常

转发策略排序

一个监听器可以添加多个转发策略,多个转发策略之间可以通过排序来设置优先级。

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击页面左上角的 ,选择“网络 > 弹性负载均衡”。

4. 在“负载均衡器”界面,单击需要修改转发策略的负载均衡器名称。

5. 切换到监听器页签,单击需要修改转发策略的监听器名称。

6. 单击转发策略右侧的 按钮,选择“设置转发策略”。

或者直接打开页面右侧的“转发策略”。

7. 在右侧“转发策略”子页签中,单击上方的“排序”。

8. 单击转发策略右上角的“上移”或“下移”。

9. 单击“保存”。

3-8 转发策略排序

URL 高级转发策略匹配示例

配置了5个URL高级转发策略,如表3-6所示。

3-6 URL 高级转发策略匹配示例 /elb/

abc.html 转发策

略01 /elb/

php.html 前缀匹

配 优先级 1 后端服务器组 01

转发策略02 /elb 前缀匹

配 优先级 2 后端服务器组 02

/exa/

index.html 转发策

略03 /exa[^\s]* 正则匹

配 优先级 3 后端服务器组 03

转发策略04 /exa/

index.html 正则匹

配 优先级 4 后端服务器组 04

/mpl/

index.html 转发策

略05 /mpl/

index.html 精确匹

配 优先级 5 后端服务器组 05

转发情况如下:

● 当请求URL为“/elb/abc.html”时,初步可以匹配到两个前缀匹配:转发策略 01、转发策略02,但由于转发策略01的优先级高于转发策略02的优先级(优先级 2 < 优先级 1),因此最终匹配到转发策略01,将请求转发至后端服务器组01。

● 当请求URL为“/exa/index.html”时,初步可以匹配到两个正则匹配:转发策略 03、转发策略04,但由于转发策略03的优先级高于转发策略04的优先级(优先级 4 < 优先级 3),因此最终匹配到转发策略03,将请求转发至后端服务器组03。

● 当请求URL为“/mpl/index.html”时,可以通过精确匹配,匹配到转发策略 05,将请求转发至后端服务器组05。

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击页面左上角的 ,选择“网络 > 弹性负载均衡”。

4. 在“负载均衡器”界面,单击需要修改转发策略的负载均衡器名称。

5. 切换到监听器页签,单击需要修改转发策略的监听器名称。

6. 单击转发策略右侧的 按钮,选择“设置转发策略”。

或者直接打开页面右侧的“转发策略”。

7. 在右侧“转发策略”子页签中,选择需要修改的转发策略,单击“编辑”。

8. 根据界面提示修改参数,单击“保存”。

删除转发策略

用户可以根据实际需要删除已经创建的转发策略。

转发策略删除后无法恢复,请谨慎操作。

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击页面左上角的 ,选择“网络 > 弹性负载均衡”。

4. 在“负载均衡器”界面,单击需要删除转发策略的负载均衡器名称。

5. 切换到监听器页签,单击需要删除转发策略的监听器名称。

6. 单击转发策略右侧的 按钮,选择“设置转发策略”。

或者直接打开页面右侧的“转发策略”。

7. 在右侧“转发策略”子页签中,选择需要删除的转发策略,单击“删除”。

8. 单击“是”。