反向代理到上游
反向代理是 OpenResty Edge 网关的核心功能之一,本文将详细介绍如何在 Edge Admin 中配置反向代理规则。
配置步骤
1. 进入页面规则配置
首先进入 页面规则 页面,在此处添加网关反向代理到上游的页面规则。
点击 新建规则
按钮开始配置。
2. 启用 Proxy 模块
规则配置中的 Proxy 模块默认处于关闭状态,需要先点击展开该模块。
3. 配置上游服务器
3.1 创建新上游
如果尚未添加过上游,可以选择新建一个上游:
3.2 上游配置参数
上游服务器支持以下配置选项:
基础配置
- 名称:上游的标识名称
- 协议:支持 HTTP 或 HTTPS
- 健康检查:为上游配置主动健康检查机制
高级配置
- 作用代理主机名:将上游域名用作代理主机名
注意:启用此选项时,仅能输入一个以域名作为地址的上游服务器,且代理规则中只能选择一个上游
上游服务器列表
一个上游可以包含多个上游服务器,支持为不同服务器配置权重(按权重分配回源请求量)。
上游服务器地址支持以下格式:
- IP 地址:直接使用 IP 地址
- 域名:网关服务器将使用本地
/etc/resolv.conf
配置的 resolver 或全局配置的 DNS resolver 进行解析 - 动态 Host 字段:使用被代理请求的 Host 字段域名(动态地址,与具体请求相关,使用场景较少)
4. 多上游配置与权重分配
4.1 多上游权重机制
系统支持同时使用多个上游,并可为每个上游配置权重。权重分配机制如下:
- 第一层分配:请求首先按照上游间的权重进行分配
- 第二层分配:分配到特定上游后,再按照该上游内部节点间的权重进行分配
4.2 灰度发布示例
例如,可以添加一个灰度上游:
和一个生产上游:
将 10% 的请求量分配到灰度上游,90% 的请求量分配到生产上游:
5. 配置匹配条件
还可以根据请求信息配置不同的回源策略。例如,针对 v2 版本的 API 进行特定配置:
配置完成
按照以上步骤,一个完整的反向代理规则就配置完成了。该规则将根据设定的条件和权重,将请求智能分发到相应的上游服务器。