Ubuntu系统
下文使用的假IP为192.168.31.33,请自行替换自己的IP
Caddy 在默认的 Ubuntu 22.04 APT 仓库中不可用,但可以通过源代码文件安装,或者在你的服务器上添加最新的仓库信息进行安装。
安装Caddy
-
将最新的 Caddy GPG 密钥添加到服务器中
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg--dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg -
将 Caddy 仓库添加到APT源
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudotee /etc/apt/sources.list.d/caddy-stable.list -
更新服务软件包索引
sudo apt update -
安装 Caddy
sudo apt install caddy -
查看已安装的 Caddy 版本
caddy -v -
允许通过防火墙传入HTTP端口80的连接
sudo ufw allow 80 -
重启防火墙以应用更改
sudo ufw reload -
访问服务器IP以测试Caddy
http://192.168.31.33
管理Caddy服务
-
启动 Caddy 服务
sudo systemctl start caddy -
查看 Caddy 服务状态
sudo systemctl status caddy -
配置开机自启
sudo systemctl enable caddy
配置 Caddy 代理
以下主要为测试代理以及https是否能生效,具体代理配置请根据自己需要自行修改Caddyfile文件
-
创建程序文件目录
sudo mkdir -p /var/www/example.com -
创建一个新的HTML应用程序文件
sudo vim /var/www/example.com/index.html -
在
index.html文件中添加以下内容<h1>Hello World Caddy</h1> -
切换到 Caddy 配置文件目录
cd /etc/caddy -
配置默认到 Caddyfile 配置
mv Caddyfile Caddyfile.default -
创建一个新的 Caddyfile 配置
vim Caddyfile -
将以下配置添加到 Caddyfile 文件中
192.168.31.33:1111 { root * /var/www/example.com file_server { index index.html } log { output file /var/log/caddy/example.log format console } }真实配置文件可能如下,将1111端口代理转发到2222端口,具体请根据自己需求自行调整
192.168.31.33:1111 { reverse_proxy 192.168.31.33:2222 }填写完后按
Ese返回命令模式输入:wq保存文件退出 -
测试 Caddy 配置是否存在错误
caddy validate -
重新加载 Caddy 服务
sudo caddy reload
保护 Caddy Web 服务器
限制对Caddyfile配置的访问,防止意外或未经授权的用户更改。
-
授予Caddy用户对
etc/caddy目录的完全权限sudo chown -R caddy:caddy /etc/caddy -
授权Caddy用户对Caddyfile的读写权限,同时禁止其他系统用户的访问权限
sudo chmod 600 /etc/caddy/Caddyfile -
使用浏览器访问自己的IP
https://192.168.31.33:1111看到以下内容说明已经配置成功
至此你已完成在Ubuntu系统上配置Caddy的所有内容
macOS系统
本文通过brew安装caddy,IP同样使用192.168.31.33假IP
安装brew请访问官网Homebrew
安装caddy
brew install caddy
查看caddy版本
caddy version
查看配置文件目录
cd /usr/local/Cellar/caddy/2.10.0 # 2.10.0为版本号,根据自己安装的目录改
cat homebrew.mxcl.caddy.plist
内容如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>HOME</key>
<string>/usr/local/var/lib</string>
<key>XDG_DATA_HOME</key>
<string>/usr/local/var/lib</string>
</dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.caddy</string>
<key>LimitLoadToSessionType</key>
<array>
<string>Aqua</string>
<string>Background</string>
<string>LoginWindow</string>
<string>StandardIO</string>
<string>System</string>
</array>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/caddy/bin/caddy</string>
<string>run</string>
<string>--config</string>
<string>/usr/local/etc/Caddyfile</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/usr/local/var/log/caddy.log</string>
<key>StandardOutPath</key>
<string>/usr/local/var/log/caddy.log</string>
</dict>
</plist>
配置文件所在目录
<string>/usr/local/etc/Caddyfile</string>
创建caddy文件夹
cd /usr/local/etc
mkdir caddy
cd caddy
创建Caddyfile配置文件
vim Caddyfile
Caddyfile配置文件内容如下,自行修改也可像Ubuntu那样去验证
192.168.31.33:1111 {
reverse_proxy 192.168.31.33:2222
}
修改homebrew.mxcl.caddy.plist文件
cd /usr/local/Cellar/caddy/2.10.0
vim homebrew.mxcl.caddy.plist
<string>/usr/local/etc/Caddyfile</string>
修改为
<string>/usr/local/etc/caddy/Caddyfile</string>
启动caddy
brew services start caddy