mirror of
https://github.com/alibaba/higress.git
synced 2026-06-09 12:47:28 +08:00
49 lines
1.6 KiB
Markdown
49 lines
1.6 KiB
Markdown
# 功能说明
|
|
|
|
`http-call` 插件在请求头阶段异步调用外部 HTTP 服务,将其响应体及指定响应头写入当前请求头,再继续转发。适用于转发前向认证、元数据等辅助服务拉取信息的场景。
|
|
|
|
# 配置字段
|
|
|
|
| 名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
|
|
| -------- | -------- | -------- | -------- | -------- |
|
|
| bodyHeader | string | 必填 | - | 将外部服务响应体写入的请求头名称 |
|
|
| tokenHeader | string | 必填 | - | 从外部服务响应头读取并写入请求头的名称 |
|
|
| requestPath | string | 必填 | - | 调用外部服务时的请求路径 |
|
|
| serviceSource | string | 必填 | - | 服务发现类型:`k8s`、`nacos`、`ip`、`dns` |
|
|
| serviceName | string | 必填 | - | 服务名称 |
|
|
| servicePort | number | 必填 | - | 服务端口 |
|
|
| namespace | string | 选填 | - | `k8s` / `nacos` 时的命名空间 |
|
|
| domain | string | 选填 | - | `dns` 类型时的域名 |
|
|
|
|
# 配置示例
|
|
|
|
## 调用 K8s 服务
|
|
|
|
```yaml
|
|
bodyHeader: x-auth-body
|
|
tokenHeader: x-auth-token
|
|
requestPath: /validate
|
|
serviceSource: k8s
|
|
serviceName: auth-service
|
|
servicePort: 8080
|
|
namespace: default
|
|
```
|
|
|
|
## 调用 DNS 服务
|
|
|
|
```yaml
|
|
bodyHeader: x-auth-body
|
|
tokenHeader: authorization
|
|
requestPath: /api/token
|
|
serviceSource: dns
|
|
serviceName: auth.dns
|
|
servicePort: 443
|
|
domain: auth.example.com
|
|
```
|
|
|
|
# 说明
|
|
|
|
- 外部服务返回非 `200` 时,插件记录错误日志,请求仍会继续转发(不会自动拒绝)。
|
|
- 响应体中的换行符会被替换为 `#`,避免协议错误。
|
|
- 插件在异步回调完成前会暂停请求头处理(`HeaderStopAllIterationAndWatermark`)。
|