caddy2配置http_basic用于验证用户名密码才允许访问页面
参考: basicauth (Caddyfile指令) — Caddy v2中文文档
1,查看caddy是否已经包含了Basic Auth插件
命令:caddy list-modules | grep http_basic
如果显示: http.authentication.providers.http_basic 则代表包含 Basic Auth 模块,此模块可用于基本的用户名密码验证
2,创建密码
一,执行命令: caddy hash-password --plaintext "your_password" 即可把明文密码转为在caddy配置文件中用于配置的密码。密钥为bcrypt后的base64位的密码
二,也可执行命令: caddy hash-password 隐藏输入的密码
3,在caddy中配置用户名密码。示例:
http://test01.abc.com:80, https://test01.abc.com:443 {
import subHeader
route /* {
basicauth /* bcrypt "restricted login" {
adminuser "$2a$14$sR1m.XdQnGT3gg.EfFDmyert4yt2rbfMPndiZ.mqHgQ1.FNgICRWm"
}
reverse_proxy * http://localhost:8080 {
header_down -'proxy-connection'
flush_interval 300ms
transport http {
dial_timeout 10s
keepalive 10m
}
}
}
}
# 其中,【restricted login】为登录时的提示信息。bcrypt是密码加密的算法。默认为bcrypt