HTTP
概述
HTTP 路由用于将外部请求转发到应用组件,支持域名绑定、负载均衡、HTTPS、WebSocket 等功能。
前提条件
- 已完成 Rainbond 安装并创建应用
- 应用中至少有一个运行中的组件
快速开始
场景一:使用默认域名
- 开启对外端口:进入组件详情页面,在端口选项中,开启需要对外暴露的端口。
- 访问验证:使用默认域名
xxx.nip.io访问您的应用。
提示
无需配置域名解析,快速体验应用访问能力。如无法访问,请阅读应用无法访问故障排查指南。
场景二:自定义域名
最简单的路由配置只需 3 步:
- 进入网关管理 → 点击"新增路由"
- 填写域名 → 如
demo.example.com(需将域名解析到网关 IP) - 选择组件 → 选择要绑定的应用组件和端口
提示
- 域名需要先解析到网关 IP 才能访问
- 本文档分为基础配置和高级配置,按需查看
新增 HTTP 路由
第一步:进入网关管理
- 进入应用视图
- 点击左侧菜单 网关管理
- 点击 新增路由 按钮
第二步:基础配置
1. 域名
填写域名(如 demo.example.com),页面会提示需要将域名解析到的 IP 地址。
📖 域名配置详细说明
支持的域名类型:
- 自定义域名:
demo.example.com - 通配符域名:
*.example.com - 系统默认域名(无需配置 DNS)
域名解析步骤:
- 登录域名服务商控制台
- 添加 A 记录,指向网关 IP(页面会提示具体 IP)
- 等待 DNS 生效(5-10 分钟)
2. 路径
配置访问路径,默认 /* 表示匹配所有路径。
📖 路径配置详细说明
| 路径格式 | 说明 |
|---|---|
/* | 匹配所有路径(默认) |
/api/* | 只匹配 /api/ 开头的请求 |
/app/user/* | 匹配多级路径 |
3. 服务来源
选择要绑定的应用组件和端口。
基础配置:
- 应用名称 → 组件名称 → 端口号
- 权重:多组件时按权重分配流量(默认 100)
📖 负载均衡配置
当需要将流量分配到多个组件时:
- 配置第一个组件,设置权重(如 80)
- 点击 + 添加第二个组件,设置权重(如 20)
- 流量将按权重比例分配(80:20)
示例:实现灰度发布
- web-v1:权重 90(90% 流量)
- web-v2:权重 10(10% 流量)
4. 高级配置(可选)
点击页面上的 更多 按钮可展开以下高级配置选项。
何时使用高级配置
- ✅ 需要限制特定 HTTP 方法(如只允许 GET、POST)
- ✅ 需要限制访问 IP(如仅允许办公网访问)
- ✅ 需要基于 Header/Cookie 进行流量路由
- ✅ 需要配置超时时间
- ❌ 简单的域名绑定不需要高级配置
路径配置(高级)
- 支持添加多个路径规则,点击 + 按钮可添加更多
- 点击 取消 可折叠高级配置面板
- 每个路径规则独立生效
HTTP 方法过滤
选择允许通过的 HTTP 方法,支持多选:
| 方法 | 说明 |
|---|---|
| GET | 获取资源 |
| POST | 提交数据 |
| PUT | 更新资源 |
| DELETE | 删除资源 |
| OPTIONS | 预检请求 |
| HEAD | 获取响应头 |
| PATCH | 部分更新 |
| TRACE | 追踪请求 |
配置说明:
- 默认允许所有 HTTP 方法
- 点击方法名称可选中/取消选中
- 已选中的方法会显示 × 标记,点击可取消
- 未选中的方法请求会被拒绝(返回 405 Method Not Allowed)
来源 IP 白名单
限制只有特定 IP 或 IP 段才能访问该路由。
配置说明:
- 输入允许访问的 IP 地址或 CIDR 格式的 IP 段
- 点击 + 按钮可添加多个 IP/IP 段
- 留空表示不限制来源 IP
IP 格式示例:
- 单个 IP:
192.168.1.100 - IP 段(CIDR):
192.168.1.0/24 - 多个 IP:通过添加多条规则实现
高级条件匹配
基于请求特征进行精细化路由控制,支持以下类型:
匹配类型:
| 类型 | 说明 | 示例 |
|---|---|---|
| Header | 根据请求头匹配 | X-Version: v2 |
| Cookie | 根据 Cookie 匹配 | user_type: vip |
| Query | 根据 URL 参数匹配 | debug: true |
比较运算符:
| 运算符 | 说明 | 示例 |
|---|---|---|
| 等于 | 完全匹配 | name == "admin" |
| 不等于 | 不匹配 | env != "prod" |
| 包含 | 字符串包含 | user-agent 包含 "Mobile" |
| 正则匹配 | 正则表达式 | path 匹配 "^/api/.*" |
配置步骤:
- 选择匹配类型(Header/Cookie/Query)
- 输入名称(name)
- 选择比较运算符
- 输入匹配值(value)
- 点击 + 添加更多条件
使用场景:
场景 1:灰度发布
通过 Header 或 Cookie 将特定用户导流到新版本:
类型: Header
名称: X-Version
运算符: 等于
值: beta
场景 2:移动端/PC 端分流
根据 User-Agent 区分设备类型:
类型: Header
名称: User-Agent
运算符: 包含
值: Mobile
将移动端请求路由到移动端优化的组件。
场景 3:A/B 测试
根据 Cookie 值进行 A/B 测试:
类型: Cookie
名称: ab_test
运算符: 等于
值: group_a
超时设置
配置与后端服务通信的超时时间,包含三个参数(单位:秒):
| 参数 | 说明 | 默认值 | 建议值 |
|---|---|---|---|
| 连接超时 | 建立连接的最长等待时间 | 60s | 5-60s |
| 读超时 | 读取响应数据的最长等待时间 | 60s | 60-300s |
| 发送超时 | 发送请求数据的最长等待时间 | 60s | 60-180s |
配置建议:
- API 接口:连接 5s,读 60s,发送 60s
- 文件上传:连接 10s,读 300s,发送 300s
- 长轮询:连接 10s,读 600s,发送 60s
- WebSocket:使用较长的超时时间
注意事项
- 超时时间过短可能导致正常请求被中断
- 超时时间过长可能占用连接资源
- 根据实际业务场景合理设置
5. WebSocket(可选)
如果应用需要 WebSocket 支持(实时聊天、数据推送等),开启 websocket 开关。
第三步:提交配置
检查配置无误后,点击 确定 按钮完成创建。