caddy 添加身份验证 basicauth

在 shell 里执行

caddy hash-password

然后输入两次密码,它会帮我们生成 hash-password 字符串。

这里我输入 powersee 作为密码,输入密码的过程中不会显示

# caddy hash-password
Enter password:
Confirm password:
$2a$14$plaWtwb6sWHLMe/M6J9YqeOzbfabMeOaSm51gnHAegXpraaRyARLm

然后就得到了这样的字符串:$2a$14$plaWtwb6sWHLMe/M6J9YqeOzbfabMeOaSm51gnHAegXpraaRyARLm

这步的作用是通过哈希密码,来对密码进行加密。它的特点是「不可逆」,没法通过上面的字符串来反推我的密码。

而且,我再执行一次命令,依然使用 powersee 作为密码,得到的字符串和上次也不一样。

# caddy hash-password
Enter password:
Confirm password:
$2a$14$DDZ.pSpoDCjSLU6t4VCofer8kV/GMFRAiwlFLKQy2GR46/M26pvvy

获得这个加密的密码后,我们需要把它添加到 caddy 的配置文件 Caddyfile 里面。

我里面的内容原本是这样的

:80 {
root * /usr/share/caddy
file_server
}

修改后变成这样

:80 {
basicauth * {
admin $2a$14$rwVbmOSeXDBg16KT3w2FtOPRmskImqGPWBmHhtAHFDjelpDANl8Zq
}
root * /usr/share/caddy
file_server

}

也就是多添加了

basicauth * {
admin $2a$14$rwVbmOSeXDBg16KT3w2FtOPRmskImqGPWBmHhtAHFDjelpDANl8Zq
}

此时用户名是 admin,密码是后面的字符串,也就是之前的 powersee。

于是此时我通过 80 端口来访问这台服务器的话,会弹出一个窗口,然后输入用户名和密码,验证成功才能看到里面的内容。

caddy-basicauth