最近 coding 的频率比较高,写了很多的web程序,但是他们都没有任何的密码保护.
网上搜到用 authlia 帖子比较多 , 但是我研究了一下,发现他非常复杂, 还需要借助npm(nginx proxy manager)等工具来实现代理转发。
我请教了一下 ai, 他说 caddy 支持反向代理和基本认证功能,可以很方便地给任何服务加一层密码防护,我用了一下感觉确实很方便。
下面的教程是关于如何使用 caddy 给一个本地的服务(http://localhost:3000) 加一层密码保护。
使用 caddy 制作一个密码哈希字符串,命令行输入:
.\caddy.exe hash-password --plaintext <YOURPASSWORD>
$2a$14$O27TM4SE4Z3CNYfzZE2FI.7Tk2hRuR1XM3R0hO4YAquBOYopQQiBK
在 Caddy 程序所在的目录下,新建一个文本文档,名字改叫 Caddyfile(不要有 .txt 后缀),内容如下:
#要的访问端口(http)
:9080 {
basic_auth {
# 账号是 k123,后面粘贴你刚才生成的加密字符串
k123 $2a$14$O27TM4SE4Z3CNYfzZE2FI.7Tk2hRuR1XM3R0hO4YAquBOYopQQiBK
}
reverse_proxy localhost:3000
}
启动caddy
.\caddy run --config Caddyfile
http://127.0.0.1:9080/ 可以验证访问。
他就会弹出密码验证框。
