5.7 公开接口与短链访问
公开接口与短链访问
本节接口不要求登录。公开不等于无限制:生产入口仍应配置 HTTPS、速率限制、日志和必要的防滥用措施。
健康检查
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/health/simple |
HTTP 存活状态,不检查依赖 |
GET |
/health |
数据库、Redis和版本信息;依赖故障返回 503 |
curl --fail https://s.example.com/health/simple安装与登录前接口
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/install/index |
安装页面 |
POST |
/api/v1/install/test-db |
安装前测试数据库/Redis |
POST |
/api/v1/install |
执行一次性安装 |
POST |
/api/v1/auth/login |
账号密码登录 |
GET |
/api/v1/auth/login-options |
登录页 OIDC 与本地登录开关 |
GET |
/api/v1/auth/oidc/authorize |
发起 OIDC |
GET |
/api/v1/auth/oidc/callback |
OIDC 回调 |
安装完成后,安装中间件会阻止再次安装。不要把安装 API 当作远程自动初始化接口暴露在长期公网环境中。
品牌、安全与反馈
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/api/v1/public/site-branding |
登录页和公开页品牌信息 |
POST |
/api/v1/public/link_access/password |
提交短链访问密码 |
POST |
/api/v1/public/abuse_reports |
提交滥用举报 |
POST |
/api/v1/public/ab_test_feedback |
A/B 转化反馈 |
密码请求需要 domain、short_code、password,可携带安全的 next;服务验证后通过 Cookie 维持本次访问授权。举报类型支持 malware、phishing、spam、illegal、other。
反馈格式见A/B 测试接口。反馈 Token 是由短链跳转流程签发的上下文,不是 API Token。
短链访问
| 方法 | 路径 | 说明 |
|---|---|---|
GET |
/<short-code> |
根据请求 Host 和短码解析并跳转 |
GET |
/preview/<short-code> |
预览短链目标信息 |
跳转可能返回 301、302、307 或 308,也可能渲染密码、防红、安全阻止、过期、禁用或 404 页面。客户端不要假设永远返回 JSON。
解析顺序会考虑:域名与短链状态、安全策略、高级路由、A/B 测试、参数透传和跳转码。微信/QQ 内置浏览器访问启用防红的域名时会显示引导页,而不是直接跳转。
代理与缓存注意事项
- 必须保留原始 Host;域名是短链查找键的一部分。
- 不要在 CDN 无差别缓存密码页、按终端路由页或 A/B 响应。
- 使用 301/308 前先确认目标稳定,浏览器和中间缓存可能长期记忆永久跳转。
- 查询参数可能按域名配置透传到目标 URL,避免在短链 URL 中放置秘密。