1.docker环境安装

1.1 Docker 官方一键安装脚本:

1
2
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

1.2 验证安装:

1
docker version
1
docker compose version

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 启动服务

1
docker compose up -d

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 更新软件包列表

1
sudo apt update

3.5 安装 Caddy

1
sudo apt install caddy

3.6 检查Caddy版本,确认安装成功

1
caddy version

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 服务

1
systemctl start caddy

设置 Caddy 开机自启

1
systemctl enable caddy

重启 Caddy 服务

1
systemctl restart caddy

停止 Caddy 服务

1
systemctl stop caddy

修改配置文件后重载配置(不中断服务)

1
systemctl reload caddy

查看 Caddy 运行状态

1
systemctl status 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 秒内就能搞定。