在接入 Nginx 公网反代前完成应用侧安全加固。
完成内容
- 移除默认 Django admin 路由,避免公网暴露 /admin/。
- 增加生产安全配置项,支持 HTTPS 反代、secure cookie 和 HSTS 开关。
- 内容导入时校验 URL scheme,仅允许 http、https 和相对路径。
- 移除页面中的第三方 CDN htmx 脚本。
- Docker 容器改为非 root 用户运行。
关键决策
- 第一版不需要网站后台,因此不暴露 Django admin。
- HTTPS 安全开关先由环境变量控制,等 Nginx/Caddy 配好 TLS 后再启用。
问题
- HSTS 需要确认域名全站 HTTPS 后再开启,避免误锁。
- Debian keyring bootstrap 仍是构建阶段供应链权衡,后续应考虑固定可信基础镜像。
下一步
- 重新部署到 VPS 并确认容器健康。
- 配置 Nginx/Caddy 反代前启用对应 secure cookie 和 HTTPS redirect 环境变量。