请求代理 Agent
你可以在有合适网络环境的机器上部署 Apifox 请求代理 Agent,让从 Apifox 客户端、Web 端、分享文档页中发起的接口请求,通过此 Agent 代理请求到目标接口。
这个功能适用于在对外分享接口的文档页上,进行接口调试时可以指定你的用户使用部署的请求代理 Agent 来解决跨域请求(CORS)问题;不同环境下的接口有不同的网络要求,无法直接从本地发起调试等场景。
准备工作
- 一台服务器,建议 OS 为 Linux
- 服务器已安装 Docker 环境,最低版本号需使用
20.10.0
,推荐20.10.13
部署请求代理 Agent
请求代理 Agent 是团队/组织级资源,部署完成后整个团队/组织内的全部项目均可以使用。在 “Apifox 主窗口 -> 团队资源 -> 请求代理 Agent” 页面中,点击新建请求代理 Agent 即可开始向你的团队中部署一个请求代理 Agent。
docker pull registry.cn-hangzhou.aliyuncs.com/apifox/apifox-request-proxy-agent && \
docker run --name apifox-request-proxy-agent \
-p 9159:9159 \
-d registry.cn-hangzhou.aliyuncs.com/apifox/apifox-request-proxy-agent
部署时可以使用环境变量来配置基本能力,你可根据你的需求自行选择是否使用。
环境变量 | 描述 | 示例 |
---|---|---|
SOURCE_IP_WHITELIST | 允许来源 IP 的列表,用英文逗号分隔 | -e SOURCE_IP_WHITELIST=134.34.4.3,123.333.33.0/24 |
SOURCE_IP_BLACKLIST | 禁用来源 IP 的列表,用英文逗号分隔 | -e SOURCE_IP_BLACKLIST=134.34.4.3,123.333.33.0/24 |
DESTINATION_DOMAIN_WHITELIST | 允许请求目标域名的列表,用英文逗号分隔 | -e DESTINATION_DOMAIN_WHITELIST=xxx.yyy.com,*.yyy.com |
DESTINATION_DOMAIN_BLACKLIST | 禁用请求目标域名的列表,用英文逗号分隔 | -e DESTINATION_DOMAIN_BLACKLIST=xxx.yyy.com,*.yyy.com |
DESTINATION_IP_WHITELIST | 允许请求目标 IP 的列表,用英文逗号分隔 | -e DESTINATION_IP_WHITELIST=134.34.4.3,123.333.33.0/24 |
DESTINATION_IP_BLACKLIST | 禁用请求目标 IP 的列表,用英文逗号分隔 | -e DESTINATION_IP_BLACKLIST=134.34.4.3,123.333.33.0/24 |
ALLOW_PRIVATE_IP | 允许请求目标为内网 IP,布尔值,默认为 false | -e ALLOW_PRIVATE_IP=false |
提示
Apifox 请求代理 Agent 是开源的,您可以根据您的场景,对此 Agent 进行二次开发从而满足您的特别需求 (如:要增加特定的 header 参数等)。
将已部署的请求代理 Agent 添加入 Apifox 中
如果 Apifox 请求代理 Agent 已经在 Docker 上正常运行,则可以回到 Apifox 客户端内将其添加到团队资源中。将 Agent 部署所在服务器的 Host 信息填入之前的弹窗中 (端口号默认为 9159
),并点击保存,则 Apifox 会自动尝试连接。
如果连接失败,则会以 Toast 形式告知,并且不允许创建。
如果连接成功,则会成功在团队中创建这个请求代理 Agent。
部署并在 Apifox 连接到这个请求代理 Agent 并创建成功后,即可在团队中开始使用此请求代理 Agent。