H5 占位页

用于验证 Nginx 的三段式域名分离配置可正常路由。 真实的 Next.js 工程在 monorepo 的 apps/h5 下。

本地域名映射

域名职责后端
m.mazhiguo.cnH5 页面(漏斗入口)h5:3000
api.mazhiguo.cn接口、限流、区域注入api:3000
vod.mazhiguo.cn视频分发(生产由 Bunny 直供)r2-mock:9000
本地通过 extra_hosts 把三个域名都指向 127.0.0.1, 再用 Host 头区分。生产环境是三个真实域名。

验证命令

# 健康检查
curl -s http://api.mazhiguo.cn:8080/health/live

# 免费集:应返回 201 + playToken
curl -s -X POST http://api.mazhiguo.cn:8080/v1/play/88001/token \
  -H "Authorization: Bearer $TOKEN" -H "X-Region-Code: US"

# 第 6 集未解锁:应返回 402,响应体即付费墙
curl -s -i -X POST http://api.mazhiguo.cn:8080/v1/play/88006/token \
  -H "Authorization: Bearer $TOKEN" -H "X-Region-Code: US"

# 播放域名应拒绝密钥文件访问
curl -s -o /dev/null -w "%{http_code}\n" http://vod.mazhiguo.cn:8080/keys/1024.key
# 期望 403

关键验证点

第 6 集返回 402 而非 200 权限裁决在服务端
402 响应体含完整付费墙参数 前端无需二次请求
.key 路径返回 403 密钥不经分发域名下发
页面域名与播放域名分离 防盗链第一层