用 Caddy 为你的 IP 加锁:Ubuntu & macOS 双系统 HTTPS 代理教程_caddy 代理
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
文件中添加以下内容Hello World Caddy
-
切换到 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
内容如下
EnvironmentVariables HOME /usr/local/var/lib XDG_DATA_HOME /usr/local/var/lib KeepAlive Label homebrew.mxcl.caddy LimitLoadToSessionType Aqua Background LoginWindow StandardIO System ProgramArguments /usr/local/opt/caddy/bin/caddy run --config /usr/local/etc/Caddyfile RunAtLoad StandardErrorPath /usr/local/var/log/caddy.log StandardOutPath /usr/local/var/log/caddy.log
配置文件所在目录
/usr/local/etc/Caddyfile
创建caddy文件夹
cd /usr/local/etc
mkdir caddycd 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.0vim homebrew.mxcl.caddy.plist
/usr/local/etc/Caddyfile修改为/usr/local/etc/caddy/Caddyfile
启动caddy
brew services start caddy