
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Unleash Proxy 简化了前端和原生应用在特定用户上下文中与 Unleash API 的集成。该代理位于代理 SDK 和 Unleash API 之间,确保内部功能开关配置不会暴露给外部。
代理提供以下特性:
您可以在 官方文档 中了解更多关于代理的信息。
Unleash Proxy 是一个小型无状态 HTTP 应用,运行时仅需能够与 Unleash API(无论是 Unleash OSS 还是 Unleash Hosted)通信。
运行 Unleash 最简单的方式是通过 Docker。我们已在 Docker Hub 上发布了 https://hub.docker.com/r/unleashorg/unleash-proxy/%E3%80%82
步骤 1:拉取镜像
bashdocker pull unleashorg/unleash-proxy
步骤 2:启动容器
bashdocker run \ -e UNLEASH_PROXY_SECRETS=some-secret \ -e UNLEASH_URL=https://app.unleash-hosted.com/demo/api/ \ -e UNLEASH_API_TOKEN=56907a2fa53c1d16101d509a10b78e36190b0f918d9f122d \ -p 3000:3000 \ unleashorg/unleash-proxy
启动成功后,您将看到以下输出:
bashUnleash-proxy is listening on port 3000!
步骤 3:验证运行状态
您可以使用 curl 验证代理是否正常工作,预期会返回评估后的功能开关结果:
bashcurl http://localhost:3000/proxy -H "Authorization: some-secret"
预期输出示例:
json{ "toggles": [{ "name": "demo", "enabled": true, "variant": { "name": "disabled", "enabled": false } }, { "name": "demoApp.step1", "enabled": true, "variant": { "name": "disabled", "enabled": false } }] }
健康检查端点
代理启动时会尝试与 Unleash API 同步,同步成功前所有请求将返回 HTTP 503 - Not Ready。您可通过健康检查端点验证代理是否就绪:
bashcurl http://localhost:3000/proxy/health -I
预期响应:
bashHTTP/1.1 200 OK Access-Control-Allow-Origin: * Access-Control-Expose-Headers: ETag Content-Type: text/html; charset=utf-8 Content-Length: 2 ETag: W/"2-eoX0dku9ba8cNUXvu/DyeabcC+s" Date: Fri, 04 Jun 2021 10:38:27 GMT Connection: keep-alive Keep-Alive: timeout=5
| 选项 | 环境变量 | 默认值 | 是否必需 | 描述 |
|---|---|---|---|---|
| unleashUrl | UNLEASH_URL | n/a | 是 | 连接到 Unleash 实例的 API URL(Unleash OSS 或 Unleash Hosted) |
| unleashApiToken | UNLEASH_API_TOKEN | n/a | 是 | 连接 Unleash API 所需的客户端 API 令牌 |
| proxySecrets | UNLEASH_PROXY_SECRETS | n/a | 是 | 代理接受的密钥列表,代理 SDK 查询时需将其设为 Authorization 请求头 |
| proxyBasePath | PROXY_BASE_PATH | "/proxy" | 否 | 代理服务的基础路径,默认为 "/proxy" |
| unleashAppName | UNLEASH_APP_NAME | "unleash-proxy" | 否 | 注册到 Unleash 时使用的应用名称 |
| refreshInterval | UNLEASH_FETCH_INTERVAL | 5000 | 否 | 代理查询 Unleash 更新的频率(毫秒) |
| metricsInterval | UNLEASH_METRICS_INTERVAL | 30000 | 否 | 代理向 Unleash 发送使用指标的频率(毫秒) |
| environment | UNLEASH_ENVIRONMENT | undefined | 否 | 代理在 Unleash 上下文中使用的环境,设置后 SDK 无法覆盖 |
| projectName | UNLEASH_PROJECT_NAME | undefined | 否 | 要获取功能开关的项目名称(ID),仅返回该项目下的功能开关 |
| logger | n/a | SimpleLogger | 否 | 注册自定义日志器 |
| logLevel | LOG_LEVEL | "warn" | 否 | 日志级别,支持 "debug"、"info"、"warn"、"error" 和 "fatal" |
| customStrategies | UNLEASH_CUSTOM_STRATEGIES_FILE | [] | 否 | 注入自定义激活策略的实现,需提供导出策略数组的 JavaScript 文件路径 |
步骤 1:安装依赖
bashnpm install @unleash/proxy
步骤 2:在代码中使用
javascriptconst port = 3000; const { createApp } = require('@unleash/proxy'); const app = createApp({ unleashUrl: 'https://app.unleash-hosted.com/demo/api/', unleashApiToken: '56907a2fa53c1d16101d509a10b78e36190b0f918d9f122d', proxySecrets: ['proxy-secret', 'another-proxy-secret', 's1'], refreshInterval: 1000, // logLevel: 'info', // projectName: 'order-team', // environment: 'development', }); app.listen(port, () => // eslint-disable-next-line no-console console.log(`Unleash Proxy 监听在 http://localhost:${port}/proxy`), );
为简化集成,我们开发了多种代理客户端 SDK,您可在 官方文档 中查看完整列表:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务