UNPKG

@codelook/proxy-server

Version:

HTTP/HTTPS proxy server with Docker deployment and Cloudflare Workers support

181 lines (127 loc) 3.06 kB
# Cloudflare Workers 代理部署指南 ## 前置要求 1. Cloudflare 账号 2. Node.js 18+ 3. Wrangler CLI ## 安装步骤 ### 1. 安装 Wrangler ```bash npm install -g wrangler ``` ### 2. 登录 Cloudflare ```bash wrangler login ``` ### 3. 获取账户 ID ```bash wrangler whoami ``` 将输出的 Account ID 填入 `wrangler.toml` 中的 `account_id` 字段。 ### 4. 配置认证令牌 编辑 `wrangler.toml`,设置你的认证令牌: ```toml [vars] PROXY_AUTH_TOKEN = "pst_YOUR_SECRET_TOKEN_HERE" ``` 或者使用密钥管理: ```bash wrangler secret put PROXY_AUTH_TOKEN ``` ### 5. 部署到 Cloudflare 开发环境: ```bash wrangler publish --env development ``` 生产环境: ```bash wrangler publish --env production ``` ### 6. 配置自定义域名(可选) 1. 在 Cloudflare Dashboard 中添加自定义域名 2. 更新 `wrangler.toml````toml routes = [ { pattern = "proxy.yourdomain.com/*", custom_domain = true } ] ``` ## 使用方法 ### 1. 直接使用 Workers 域名 ```bash # 获取 Workers 域名 wrangler publish --dry-run # 使用示例 curl -H "Authorization: Bearer YOUR_TOKEN" \ -H "X-Target-URL: https://api.anthropic.com" \ https://codelook-proxy.YOUR-SUBDOMAIN.workers.dev/ ``` ### 2. 在 codem 中使用 ```bash codem create myenv --proxy https://codelook-proxy.YOUR-SUBDOMAIN.workers.dev ``` ### 3. 使用查询参数 ```bash curl -H "Authorization: Bearer YOUR_TOKEN" \ "https://codelook-proxy.YOUR-SUBDOMAIN.workers.dev/?target=https://api.anthropic.com" ``` ## 高级配置 ### 启用 KV 存储(用于速率限制) 1. 创建 KV 命名空间: ```bash wrangler kv:namespace create "RATE_LIMIT" ``` 2. 将输出的 ID 添加到 `wrangler.toml````toml [[kv_namespaces]] binding = "RATE_LIMIT_KV" id = "your-kv-namespace-id" ``` 3. 更新 `worker.js` 中的速率限制代码 ### 监控和日志 查看实时日志: ```bash wrangler tail ``` 在 Cloudflare Dashboard 中查看: - 请求统计 - 错误日志 - 性能指标 ## 限制和注意事项 1. **请求大小限制**:100MB 2. **执行时间限制** - 免费版:10ms CPU 时间 - 付费版:50ms CPU 时间 3. **并发请求限制** - 免费版:1000 请求/分钟 - 付费版:无限制 4. **不支持 WebSocket** 5. **不支持流式响应**(如 SSE) ## 成本估算 - **免费版**:每天 100,000 请求 - **付费版**:$5/月起,包含 1000 万请求/月 ## 故障排除 ### 1. 认证失败 检查令牌是否正确设置: ```bash wrangler secret list ``` ### 2. 部署失败 检查 `wrangler.toml` 配置: ```bash wrangler publish --dry-run ``` ### 3. 请求超时 - 优化目标服务响应时间 - 考虑使用付费版获得更长执行时间 ## 最佳实践 1. **安全性** - 使用强认证令牌 - 限制允许的目标域名 - 启用 CORS 限制 2. **性能** - 使用 Cloudflare 缓存 - 启用压缩 - 优化请求路由 3. **监控** - 设置告警 - 定期检查日志 - 监控成本