Loading... > Caddy 2.x 版本引入了一个新的命令行工具 caddy hash-password,它可以用来生成密码的哈希值。这个工具可以用在配置 basicauth 认证时生成密码。 ## 1. 安装 Caddy 如果还没有安装,你可以从 [Caddy官网](https://caddyserver.com/) 下载并安装。 ## 2. 使用 caddy hash-password 命令 打开你的命令行工具,然后输入以下命令来生成密码哈希: ```bash caddy hash-password ``` 执行这个命令后会提示你输入密码,为了安全考虑,系统将不会显示你输入的密码,与passwd一样… ## 3. 生成密码 在提示符后输入你的密码。例如: Enter Password: 输入你的密码 输入密码后,caddy hash-password 将输出密码的哈希值。这个哈希值是使用 bcrypt 算法生成的,可以直接用于 Caddyfile 中的 basic 认证。 同时也可以使用OpenSSL生成 MD5 密码 (但是不推荐用于生产环境) ```bash openssl passwd -apr1 ``` ## 4. 配置 Caddyfile 将生成的哈希值复制并粘贴到你的 Caddyfile 中,替换相应的密码字段。例如: ```toml basicauth @group { mirrors $1a$13$ZhisIsGeneratedHash } ``` 5.例子 例如你想要为用户名 admin 设置密码 mypassword,你可以参考下面的步骤操作: 运行 caddy hash-password Enter Password: 输入mypassword 会输出类似这样的哈希值:`$2a$14$Wmfsb3jZ6kvMf8G4vj4FhO5NtLgXGJ1y4Hj3iW6OZ/7iU6Ve4i06` 将这个哈希值添加到你的 Caddyfile 中,下面是配置文件例子 ```toml @basicdir { # 定义一个名为 @basicdir 的匹配器,用于匹配路径以 /security/ 开头的请求 path /security/* } basicauth @basicdir { # 对 @basicdir 匹配器匹配的路径应用 Basic 认证 username hashed_password # hashed_password 是 bcrypt 加密后的字符串 } ``` ## 注意事项 [card title="注意事项" color="warning"] 使用 caddy hash-password 生成的哈希值是唯一的,每次生成的哈希都会不同,即使是相同的密码。 哈希值是不可逆的,这意味着你不能从哈希值恢复原始密码。[/card] Last modification:April 25, 2025 © Allow specification reprint Support Appreciate the author Like 如果觉得我的文章对你有用,请随意赞赏