下载与安装
下载caddy程序(Window平台)
caddy官网下载链接:https://caddyserver.com/download
下载好后将文件复制到C:\Program Files\Caddy,并将下载的文件重命名为caddy.exe
环境变量
添加window中的环境变量(主要解决cmd不能直接实行exe的下令)
添加好后点击确定并关闭打开的窗口
添加caddy的程序到window服务中(打开cmd实行)
- sc.exe create caddy start= auto binPath= "C:\Program Files\caddy.exe run"
复制代码 下令分析:
sc.exe:这是Service Control(服务控制)的缩写,是Windows操作系统中用于与服务控制管理器(SCM)交互的下令行工具。它可以用来创建、删除、查询、配置和启动/制止Windows服务。
create:这是sc.exe下令的一个参数,指示要实行的操作是创建一个新的服务。
caddy:这是你想要创建的服务的名称。在这个例子中,服务被命名为caddy。服务名称在系统中必须是唯一的。
start= auto:这个参数指定了服务的启动范例。auto意味着服务将被配置为主动启动,即在系统启动时主动尝试启动这个服务。其他可能的值包括demand(手动启动)和disabled(禁用)。
binPath= “C:\Program Files\caddy.exe run”:这个参数指定了服务的可实行文件(.exe)的路径以及任何需要的下令行参数。在这个例子中,服务的可实行文件是c:\caddy.exe
删除服务可用(打开cmd实行)
如果添加环境变量后也可直接实行
添加后会在服务中表现caddy
也可以使用官网的方法:https://caddyserver.com.cn/docs/running
bat脚本
不想使用环境变量与服务可以使用bat下令取代上面的功能,只是运行中会有cmd窗口不停在前台运行,适合暂时使用
- @echo off
- chcp 65001 >nul 2>&1
- :menu
- cls
- echo =============================
- echo 请选择要执行的操作:
- echo 1) 启动 Caddy (使用默认配置)
- echo 2) 重新加载 Caddy
- echo 3) 停止 Caddy
- echo 4) 退出
- echo =============================
- set /p choice=请输入选项(1, 2, 3 或 4):
- if "%choice%"=="1" goto startDefaultCaddy
- if "%choice%"=="2" goto reloadCaddy
- if "%choice%"=="3" goto stopCaddy
- if "%choice%"=="4" goto end
- :startDefaultCaddy
- :: 使用默认配置启动 Caddy
- start "Caddy Server" cmd /c "cd /d C:\Program Files\Caddy && caddy run"
- echo Caddy 已使用默认配置启动.
- goto menu
- :reloadCaddy
- :: 重新加载 Caddy 使用默认配置
- start "Caddy Reload" cmd /c "cd /d C:\Program Files\Caddy && caddy reload"
- echo Caddy 已重新加载.
- goto menu
- :stopCaddy
- :: 停止 Caddy
- start "Caddy Stop" cmd /c "cd /d C:\Program Files\Caddy && caddy stop"
- echo Caddy 已停止.
- goto menu
- :end
- exit
复制代码 配置文件
再次打开安装目录中,新建一个txt文件,重启名为Caddyfile的文件(不需要.txt扩展名)
编辑Caddyfile文件(可以文本文档编辑),添加如下内容:
- www.*******.com {
- root * E:/下载
- file_server browse
- tls ********@qq.com
- }
复制代码 代码表明:
- E:/下载 web显示的内容目录
- file_server browse 开启目录浏览功能,不加browse为不开启
- tls 自动申请https证书,此处需要填写邮箱名
复制代码 将caddy添加到windows防火墙中
保存后即可启动
启动
制止
输入netstat -na 检查下是否启用监听80与443端口,只有启用80与443端口才华主动申请乐成ssl证书
其它说明:
主动申请乐成证书文件的目录
- C:\Windows\System32\config\systemprofile\AppData\Roaming\Caddy\certificates\acme-v02.api.letsencrypt.org-directory
复制代码 关于证书的一些其它问题
如需使用www与@分析用同一个证书可以使用
- www.1234.com 1234.com {
- root * E:/下载
- file_server browse
- tls ****@qq.com
- }
复制代码 如需使用API申请通配符证书可以使用
- *.1234.com {
- root * E:/下载
- file_server browse
- tls {
- dns dnspod AP_ID,AP_tokin
- }
- }
复制代码 使用API证书时需使用对应的模块
注意:从官网下载时选中对应的模块即可生效
使用域名重定向
- 1234.com {
- redir https://www.1234.com{uri}
- }
复制代码 手动添加模块
阿里云DNS
- caddy add-package github.com/caddy-dns/alidns
复制代码 使用阿里云DNS的的配制,将上面tls内网更换为
- tls {
- dns alidns {
- access_key_id *********
- access_key_secret *********
- }
- }
复制代码 DNSPOD的DNS
- caddy add-package github.com/caddy-dns/dnspod
复制代码 使用DNSPOD的DNS的的配制,将上面tls内容更换为
- tls {
- dns dnspod 123456,5689899551214212
- }
复制代码 其它具体语法参考下面模块的连接
一样平常模块连接所在为包名中表现的所在,如下图
查询已添加的模块信息
caddy配置basicauth认证 (新版本已使用bcrypt哈希算法生成)
由于caddy配置不接受明文暗码,可以使用下面下令举行对暗码举行加密
输入暗码 123456 ,如下图
那么配制文件为:
- 1234.com www.1234.com {
- encode gzip
- root * E:/下载
- file_server browse
- # 对 E:/下载 目录下所有文件进行认证保护,访问时会提示输入用户名与密码,此处的用户名为test,密码为123456。
- basicauth /* {
- test $2a$14$pU0EPsxiwT7j2KEAuqBa..fEmMlkXOY1lGMKY/pz72C1aq2B66paK
- }
- tls *****@qq.com
- }
复制代码
此处的用户名为test, 暗码为123456
caddy配制文件中使用的为bcrypt哈希算法生成的暗码哈希值。 bcrypt是一种基于哈希函数的加密算法,它使用一个暗码和一个盐值作为输入,生成一个固定长度的暗码哈希值。这个哈希值在每次暗码输入时都会重新生成,而且会随着盐值的改变而改变。bcrypt的盐值是一个随机生成的字符串,与暗码一起用于哈希函数中,使得雷同的暗码在每次加密时都会生成差别的哈希值。
bcrypt是一种暗码哈希函数,通常用于存储用户暗码的安全散列值。
这个字符串的格式是由几个部分构成的:
2 a 2a 2a: 这是指明使用的哈希算法的标识符,对于bcrypt来说,表示使用的是bcrypt版本 2a。
14$: 这是指明用于加密的工作因子,这里是14,表示加密过程的迭代次数。剩下的部分就是经过哈希后的暗码散列值。
请注意,这个字符串自己并不包含暗码信息,只是暗码的哈希值。 哈希函数是单向的,因此从哈希值中无法还原出原始暗码。
原文链接:https://blog.csdn.net/becklee1218/article/details/135282231
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |