原则:鉴权挡在应用之前
把 basic_auth 放在反向代理(Caddy/Nginx)层,应用本身甚至不需要知道「谁在看」。好处:即使后端有漏洞,门外还有一道锁。
stock.panpipe.com.cn {
basic_auth {
admin $2a$14$...哈希密码...
}
reverse_proxy 127.0.0.1:8810
}
静态资源与受保护路径分流
- 公开内容(如本内容站)→ 无鉴权静态托管;
- 内部系统 → basic_auth 拦在前面;
- 隐藏路径(
/.git、/.env、/private)→ 直接 404。
响应头收紧
Strict-Transport-Security:强制 HTTPS;X-Content-Type-Options: nosniff:防 MIME 嗅探;X-Frame-Options: DENY:防被iframe嵌套(需内嵌的少数路径单独放开);-Server:藏掉服务器标识,减少指纹。
关于「免密链接」:曾为方便放过
?k=TOKEN 这类免密路由,后评估为密钥泄露风险,已移除——任何访问都走密码鉴权。便利性让位于安全性,公网服务值得。