跳到主要内容

请求代理 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。