1.docker环境安装
1.1 Docker 官方一键安装脚本:
1
2
| curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
|
1.2 验证安装:
2.安装并配置nezha面板与openlist
2.1 一键生成docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| cat > docker-compose.yml <<EOF
services:
# 哪吒面板服务
nezha:
container_name: nezha
image: ghcr.io/nezhahq/nezha:latest
network_mode: "host"
volumes:
- ./nezha_data:/dashboard/data
restart: unless-stopped
# openlist服务
openlist:
container_name: openlist
image: openlistteam/openlist:latest
network_mode: "host"
environment:
- TZ=Asia/Shanghai
- OPENLIST_ADMIN_PASSWORD=用户密码 # 修改登陆密码
volumes:
- ./oplist_data:/opt/openlist/data
restart: unless-stopped
EOF
|
2.2 设置./oplist_data文件夹的权限,确保 Openlist 容器可以正常读写
1
| sudo chown -R 1001:1001 ./oplist_data
|
2.3 启动服务
3. Caddy2反向代理安装
在 Debian/Ubuntu 系统上安装 Caddy2,可以按照以下步骤操作:
3.1 安装必要的软件包
1
| sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
|
3.2 添加 Caddy 的 GPG 密钥
1
| curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
3.3 添加 Caddy 的软件源
1
| curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
3.4 更新软件包列表
3.5 安装 Caddy
3.6 检查Caddy版本,确认安装成功
4. Caddy2配置反向代理
4.1 编辑 Caddyfile
1
| sudo nano /etc/caddy/Caddyfile
|
4.2 粘贴配置如下:
1
2
3
4
5
6
7
8
9
| # 哪吒面板的反向代理配置
mb.hxjx.hidns.co {
reverse_proxy localhost:8008
}
# Openlist 的反向代理配置
oplist.hxjx.hidns.co {
reverse_proxy localhost:5244
}
|
保存并退出 (Ctrl + X -> Y -> Enter)。mb.hxjx.hidns.co、oplist.hxjx.hidns.co为域名并添加了A记录或AAA记录
4.3 重载 Caddy 配置使其生效:
1
| sudo systemctl reload caddy
|
4.4 其它相关命令:
启动 Caddy 服务
设置 Caddy 开机自启
重启 Caddy 服务
1
| systemctl restart caddy
|
停止 Caddy 服务
修改配置文件后重载配置(不中断服务)
查看 Caddy 运行状态
5. 补充配置
由于谷歌云关闭了CDN网络,需要配置新的证书发放机构。使用Google自家证书
5.1 获取谷歌证书的Key
VPS 终端里运行这条命令(这是 GCP 自带的工具):
1
| gcloud beta publicca external-account-keys create
|
可能出现的情况:
如果直接成功:它会显示 keyId 和 b64MacKey。请立刻把这两个字符串发给我。
如果提示 API 未启用:它会问 API [publicca.googleapis.com] not enabled. Enable it? (y/N)。请输入 y 并回车。
如果提示未登录:它会报错让登录。如果遇到这个,请告诉我,我教你另一种简单的方法。
5.2 写入新的 Caddyfile(包含你的谷歌密钥)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| cat > /etc/caddy/Caddyfile <<EOF
{
# 使用 Google Trust Services (GTS)
acme_ca https://dv.acme-v02.api.pki.goog/directory
acme_eab {
key_id b33a63ed1f543dc24236425112983a84
mac_key EZBbzPPpgbzQt_GDCGNJRSnM1c-xVEqXN18e4Iajrt1G7JDjEvaIA-7BnwBiNu15twNyqMrisHwhRYPqV6B7eA
}
email xuhxjxhk@gmail.com
}
# Openlist 的反向代理配置
oplist.hxjx.hidns.co {
reverse_proxy localhost:5244
}
# 哪吒面板的反向代理配置
mb.hxjx.hidns.co {
reverse_proxy localhost:8008
}
# Openlist 的反向代理配置2
oplist.cc.cd {
reverse_proxy localhost:5244
}
EOF
|
5.3 清理旧缓存(非常重要)
1
2
| systemctl stop caddy
rm -rf /var/lib/caddy/.local/share/caddy
|
5.4 启动并见证奇迹
1
2
| systemctl start caddy
journalctl -u caddy -n 50 -f
|
你会看到 Caddy 飞快地完成注册,日志里会出现 certificate obtained successfully。因为是谷歌自家的线路,这次应该在 1-2 秒内就能搞定。