Caddy 2.x 配置Basic认证

Caddy 2.x 版本引入了一个新的命令行工具 caddy hash-password,它可以用来生成密码的哈希值。这个工具可以用在配置 basicauth 认证时生成密码。

本篇文章将介绍如何配置使用 Caddy Basic认证。

1. 安装 Caddy

确保你的系统上已经安装了 Caddy。如果还没有安装,你可以从 Caddy 官网 下载并安装。

2. 使用 caddy hash-password 命令

打开你的命令行工具(例如 Terminal、Xshell 或 PowerShell),然后输入以下命令来生成密码哈希:

caddy hash-password

执行这个命令后会提示你输入密码,为了安全考虑,系统将不会显示你输入的密码,与passwd一样…

3. 生成密码

在提示符后输入你的密码。例如:

Enter Password: 

输入密码后,caddy hash-password 将输出密码的哈希值。这个哈希值是使用 bcrypt 算法生成的,可以直接用于 Caddyfile 中的 basic 认证。

同时也可以使用OpenSSL生成 MD5 密码 (但是不推荐用于生产环境)

openssl passwd -apr1

4. 配置 Caddyfile

将生成的哈希值复制并粘贴到你的 Caddyfile 中,替换相应的密码字段。例如:

    basicauth @group {
        mirrors $1a$13$ZhisIsGeneratedHash
    }

5.完整例子

假设你想要为用户名 admin 设置密码 mypassword,你可以按照以下步骤操作:

  1. 运行 caddy hash-password

  2. 输入密码 mypassword

  3. 系统将输出类似这样的哈希值:$2a$14$Wmfsb3jZ6kvMf8G4vj4FhO5NtLgXGJ1y4Hj3iW6OZ/7iU6Ve4i06

  4. 将这个哈希值添加到你的 Caddyfile 中,下面是一个较为完整的配置文件

@basicdir { # 定义一个名为 @basicdir 的匹配器,用于匹配路径以 /security/ 开头的请求
    path /security/*
}

basicauth @basicdir { # 对 @basicdir 匹配器匹配的路径应用 Basic 认证
    username hashed_password # hashed_password 是 bcrypt 加密后的字符串
}

注意事项

  • 使用 caddy hash-password 生成的哈希值是唯一的,每次生成的哈希都会不同,即使是相同的密码。

  • 哈希值是不可逆的,这意味着你不能从哈希值恢复原始密码。

原创文章,作者:geeklinux.cn,如若转载,请注明出处:https://www.geeklinux.cn/jsjc/256.html

(0)
geeklinux.cn的头像geeklinux.cn
上一篇 2024 年 7 月 27 日 下午6:09
下一篇 2024 年 8 月 12 日 下午7:03

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注