我服务器的801端口是我的博客, 我现在想在外面套一层caddy,自动获取证书 我的域名是tao-blog.site 我如何配置这个caddy
我来帮你配置 Caddy 来反向代理你的博客并自动获取 HTTPS 证书。
bash展开代码# Ubuntu/Debian
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
# 或者使用官方安装脚本
# curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/setup.deb.sh' | sudo bash
编辑 /etc/caddy/Caddyfile:
bash展开代码sudo nano /etc/caddy/Caddyfile
caddy展开代码tao-blog.site { reverse_proxy localhost:801 # 可选:日志配置 log { output file /var/log/caddy/tao-blog.log } # 可选:编码压缩 encode gzip }
在配置 Caddy 之前,确保你的域名 tao-blog.site 的 DNS A 记录已经指向你的服务器 IP。
bash展开代码# 检查域名解析
dig tao-blog.site +short
# 或
nslookup tao-blog.site
bash展开代码# 重新加载配置
sudo systemctl reload caddy
# 或者重启服务
sudo systemctl restart caddy
# 查看状态
sudo systemctl status caddy
# 查看日志
sudo journalctl -u caddy -f
防火墙设置:确保开放 80 和 443 端口
bash展开代码sudo ufw allow 80/tcp sudo ufw allow 443/tcp
Let's Encrypt 自动证书:Caddy 会自动从 Let's Encrypt 获取证书,无需额外配置
如果需要 www 子域名:
caddy展开代码tao-blog.site, www.tao-blog.site { reverse_proxy localhost:801 }
高级配置示例(如果需要):
caddy展开代码tao-blog.site { reverse_proxy localhost:801 { header_up Host {host} header_up X-Real-IP {remote} header_up X-Forwarded-For {remote} header_up X-Forwarded-Proto {scheme} } encode gzip log { output file /var/log/caddy/tao-blog.log { roll_size 10mb roll_keep 5 } } }
配置完成后,你就可以通过 https://tao-blog.site 访问你的博客了,Caddy 会自动处理 HTTPS 证书的获取和续期。


本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!