在window平台使用caddy部署简朴web功能的服务器
下载与安装下载caddy程序(Window平台)
caddy官网下载链接:https://caddyserver.com/download
https://i-blog.csdnimg.cn/direct/80bd5195def54c30be4bdf08a1129743.png
下载好后将文件复制到C:\Program Files\Caddy,并将下载的文件重命名为caddy.exe
https://i-blog.csdnimg.cn/direct/ef5056acb6a44c0fa09ee49be1533781.png
环境变量
添加window中的环境变量(主要解决cmd不能直接实行exe的下令)
https://i-blog.csdnimg.cn/direct/5ecea8034e504ad09af97019ed1fd0b3.png
https://i-blog.csdnimg.cn/direct/354fc8f1d16240f0bf416f3b4799a091.png
添加好后点击确定并关闭打开的窗口
添加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实行)
sc delete caddy
如果添加环境变量后也可直接实行
caddy start
caddy stop
添加后会在服务中表现caddy
https://i-blog.csdnimg.cn/direct/cfa04f6bbd704073894ba5b26f55c423.png
也可以使用官网的方法: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扩展名)
https://i-blog.csdnimg.cn/direct/d86623fb1fd94b779594a14c48f9d4c6.png
编辑Caddyfile文件(可以文本文档编辑),添加如下内容:
www.*******.com {
root * E:/下载
file_server browse
tls ********@qq.com
}
代码表明:
E:/下载 web显示的内容目录
file_server browse 开启目录浏览功能,不加browse为不开启
tls 自动申请https证书,此处需要填写邮箱名
将caddy添加到windows防火墙中
https://i-blog.csdnimg.cn/direct/39bfcbbe82534d00913425371797538a.png
保存后即可启动
启动
sc.exe start caddy
制止
sc.exe stop caddy
输入netstat -na 检查下是否启用监听80与443端口,只有启用80与443端口才华主动申请乐成ssl证书
https://i-blog.csdnimg.cn/direct/e60e6327291d42149edd2cbea3c03966.png
其它说明:
主动申请乐成证书文件的目录
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证书时需使用对应的模块
https://i-blog.csdnimg.cn/direct/6f07ae026a804fa6af4a81ebc18a54c1.png
注意:从官网下载时选中对应的模块即可生效
使用域名重定向
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-packagegithub.com/caddy-dns/dnspod
使用DNSPOD的DNS的的配制,将上面tls内容更换为
tls {
dns dnspod 123456,5689899551214212
}
其它具体语法参考下面模块的连接
一样平常模块连接所在为包名中表现的所在,如下图
https://i-blog.csdnimg.cn/direct/8fad1545d6074f1b9679a2a047780254.png
查询已添加的模块信息
caddy build-info
https://i-blog.csdnimg.cn/direct/01b865648e9f4c3fb725484ff2a650fc.png
caddy配置basicauth认证 (新版本已使用bcrypt哈希算法生成)
由于caddy配置不接受明文暗码,可以使用下面下令举行对暗码举行加密
输入暗码 123456 ,如下图
https://i-blog.csdnimg.cn/direct/0804f6631f1d4b40bdf07eed1153b463.png
那么配制文件为:
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
}
https://i-blog.csdnimg.cn/direct/582994dfab7347d3ae441888f345aed0.png
此处的用户名为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企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]