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 转化反馈

密码请求需要 domainshort_codepassword,可携带安全的 next;服务验证后通过 Cookie 维持本次访问授权。举报类型支持 malwarephishingspamillegalother

反馈格式见A/B 测试接口。反馈 Token 是由短链跳转流程签发的上下文,不是 API Token。

短链访问

方法 路径 说明
GET /<short-code> 根据请求 Host 和短码解析并跳转
GET /preview/<short-code> 预览短链目标信息

跳转可能返回 301302307308,也可能渲染密码、防红、安全阻止、过期、禁用或 404 页面。客户端不要假设永远返回 JSON。

解析顺序会考虑:域名与短链状态、安全策略、高级路由、A/B 测试、参数透传和跳转码。微信/QQ 内置浏览器访问启用防红的域名时会显示引导页,而不是直接跳转。

代理与缓存注意事项

  • 必须保留原始 Host;域名是短链查找键的一部分。
  • 不要在 CDN 无差别缓存密码页、按终端路由页或 A/B 响应。
  • 使用 301/308 前先确认目标稳定,浏览器和中间缓存可能长期记忆永久跳转。
  • 查询参数可能按域名配置透传到目标 URL,避免在短链 URL 中放置秘密。

相关章节:域名接口链接安全与高级路由