Skip to content

NGINX替换概念对照

开源NGINX与商业负载均衡间主要存在以下概念差异:

  • upstream对应着服务器池
  • location对应着分发策略与分发规则
  • 如果存在if、rewrite等配置,同样对应着分发策略与分发规则
  • root/alias对应着静态资源
  • server对应着虚拟服务
  • http{} 限定为七层虚拟服务
  • stream{} 限定为四层虚拟服务

因此,我们创建虚拟服务前,需要先确认控制台上已经成功添加了转发引擎,然后先创建【服务器池】(需要选定主动健康检查策略、负载均衡算法,另外可选温暖上线、虚拟组策略等),再创建【虚拟服务】(根据需要可选创建静态资源会话保持算法应用失效保障页面分发策略分发规则、IP集合、聚合接口与IP地址、浮动组与虚拟浮动IP、SNAT源地址池、七层HTTP策略、压缩策略、访问策略SSL证书SSL策略等),即可实现智能流量分发。

详细配置逻辑参考配置逻辑

服务器池与upstream

  • 支持RR轮询、最快响应、最小连接、哈希、一致性哈希等多种负载均衡算法
  • 支持温暖上线与优雅下线
  • 支持AND/OR多健康检查算法协作
  • 支持多节点同时进行主动健康检查
  • 支持多虚拟组,允许按组控制服务器节点
  • 支持优先级功能
  • 支持并发连接限制
  • 支持针对服务器池或者服务器节点的监控体系 服务器节点列表

详见服务器池用户手册

主动健康检查

  • 支持ICMP、TCP完整握手、TCP半连接、常见数据库SQL、UDP等多种健康检查协议
  • 支持上线、下线时间与次数的明细配置
  • 支持内容检查

详见健康检查用户手册

支持自定义健康检查

  • 自定义编程语言
    • 支持变量定义
    • 支持条件判断
    • 支持循环处理
  • 提供内置函数简化编程
  • 支持静态语法检查
  • 支持GUI界面运行调试
  • 支持跨服务器池的复合策略
  • 支持常见健康检查协议
  • 支持10万节点级的并发检查

详见自定义脚本

静态资源与root配置

  • 文件资源管理:.tar.gz或者.zip两种压缩包格式;后续更改部分文件或者目录时,可以单个新增、删除;
  • 高可用:管理节点可保存静态资源,在静态资源列表页中可显示相关转发引擎的同步状态;
  • 支持目录映射
  • Minetype映射:每个静态资源都可以独立配置mimetype,并可以配置默认minetype;
  • 图形化:静态资源将以树状图形化展示; 静态资源将以树状图形化展示
  • 2种URL映射关系:完全映射与去URL映射;
  • 首页文件:可自动或手动配置首页文件;
  • 预压缩功能:支持GZIP和BROTLI预压缩;

详见静态资源用户手册

分发策略与if配置

  • 基于客户端地址段处理请求(客户端地址段详见IP集合管理
  • 基于HTTP请求的URI
  • 支持完全/前缀/正则匹配
  • 基于HTTP请求的URL参数
  • 名称任意/全量匹配
  • 名称值完全匹配
  • HTTP请求HOST域名匹配
  • SSL层SNI匹配
  • HTTP请求HEADER匹配
  • HTTP请求Method匹配
  • HTTP请求Cookie匹配

详见分发策略

分发规则与location配置

  • 一条分发规则支持多条分发策略
  • 可独立指定四层/七层策略
  • 支持多种处理方式
    • TCP/TCP+SSL/HTTP/HTTPS代理
      • 支持应用失效保障页面
    • 指定其他状态码
      • 支持JSON/XML等包体格式
      • 支持指定资源页面
    • 静态资源
    • 支持重定向
  • 分发规则可指定低、中、高优先级
    • 同优先级下,可在页面上拖动改次优先级
  • 支持默认分发规则

请求匹配上后的处理方式,详见七层分发规则或者四层分发规则

证书管理与ssl_certificate

  • 支持证书链、私钥与CA证书关联
  • 证书即将过期、已过期都会生成提醒事件
  • 可设置安全管理员角色横向管理所有业务

详见证书管理

国密算法与SSL策略

  • 支持面向下游客户端的SSL策略
  • 支持面向上游服务器的SSL策略
  • 支持国密算法
  • 支持session ticket/session cache
  • 支持证书校验
  • 支持ECDSA/EDDSA证书

详见SSL策略

会话保持算法

  • 支持Cookie会话保持策略
    • 支持Hash/Insert/Passive三种策略
  • 支持源地址段会话保持策略
  • 支持SSL Session ID会话保持策略
  • 支持请求Header会话保持策略
  • 支持URI会话保持策略
  • 支持URL参数会话保持策略
  • 支持跨虚拟服务的共享会话保持

详见会话保持策略

丰富的策略配置

  • 七层策略
    • 支持包体替换
    • 支持请求更改
    • 支持响应更改
    • 支持变量
    • 支持SNAT地址
    • 支持WS/WSS
    • 支持XFF
  • 四层策略
  • 访问策略
  • 压缩策略
  • 缓存策略

应用失效保障页面与error_page

  • 代理功能下支持应用失效保障页面
  • 支持状态码映射
  • 支持按范围匹配状态码
  • 支持高优先级的单状态码

详见应用失效保障页面

虚拟服务与server

  • 可通过状态控制关闭/开启服务
  • 支持单机或者集群模式
  • 支持监听多地址、多端口及端口范围
  • 按优先级指定多分发规则
  • 支持默认分发规则
  • 支持TFO/KeepAlive/ProxyProtocol等多种功能
  • 支持基于可信IP集合提取XFF客户端地址
  • 支持配置多种访问控制策略
  • 支持配置多种超时、缓存配置
  • 支持配置是否缓存请求或者响应包体
  • 支持被动健康检查失败后换服务器重发请求

详见虚拟服务

日志上报 VS [access.log]配置