一、用途

basicauth 是 Caddy 提供的最简单的访问控制方式之一,适合:

  • 给内网面板加一层简单保护;
  • 防止公网扫描、未授权访问;
  • 无需复杂的登录系统,只要一个用户名密码即可。

二、示例配置

/etc/caddy/Caddyfile 中添加:

example.com {
    basicauth {
        admin JDJhJDEyJGtpc1B6d1hiU0puU1JkSmxPSm5nT1IuYmhpbTFoQUpVZkRCNm5tWHViWmRMRzJKQ2FGT1Iu
    }

    reverse_proxy 127.0.0.1:8080
}
上面的字符串是通过 caddy hash-password 生成的密码哈希。

三、生成密码哈希

在终端执行:

caddy hash-password --plaintext "你的密码"

示例输出:

$2a$14$Vj7xZBt1h8v92b3r.zT1UOTYpo14h2zOAB6sAWPDtKvwKOdA3ZrSa

然后把这串哈希替换进 basicauth 段落中即可。


四、登录方式

访问时浏览器会弹出认证框:

Username: admin
Password: 你的明文密码

输入后才能继续访问。

🔁 登录信息默认会被浏览器缓存(Basic Auth 机制),刷新页面不会再次提示。
若想重新登录,可:

  • 在浏览器隐私模式打开;
  • 或清除该域名的 HTTP 授权缓存。

✅ 小结

  • basicauth 是最轻量的初步加密方案;
  • 适合临时或内网保护;
  • 无需数据库、会话管理;
  • 可与 HTTPS 一起使用,形成基本安全防护。