原文链接假如你已经安装docker,那么下面这个方法可以让你快速部署ssl且自动续签。

1. 安装 Docker(已装可跳过)

# 一键安装 Docker(适用于大多数 Linux)
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

2. 创建目录结构

mkdir -p /opt/caddy/{data,config}
cd /opt/caddy

3. 编写 Caddyfile

新建文件:

vim /opt/caddy/Caddyfile

写入内容(把 xxx.com 换成你自己域名127.0.0.1:8080 换成你网站真实端口):

xxx.com {
    # 80 自动重定向到 443(Caddy 自带)
    redir https://{host}{uri} permanent

    # 443 反向代理到本地网站
    reverse_proxy 127.0.0.1:8080
}

说明:

  • 访问 http://xxx.com → 自动 301 跳转到 https://xxx.com
  • https://xxx.com → 代理到你本地网站端口

4. Docker 运行 Caddy

docker run -d \
  --restart=always \
  --name caddy \
  -p 80:80 \
  -p 443:443 \
  -v /opt/caddy/Caddyfile:/etc/caddy/Caddyfile \
  -v /opt/caddy/data:/data \
  -v /opt/caddy/config:/config \
  caddy:latest

5. 放行防火墙(重要)

# 放行 80/443
ufw allow 80/tcp
ufw allow 443/tcp
ufw reload

6. 常用命令

# 查看日志
docker logs -f caddy

# 修改 Caddyfile 后重启
docker restart caddy

# 停止/删除
docker stop caddy
docker rm caddy

效果总结

  • http://xxx.com → 自动跳转到 https://xxx.com
  • https://xxx.com → 转发到你本地网站端口
  • Caddy 自动管理 SSL 证书,无需手动配置,源自Let’s Encrypt,免费,快到期了caddy自动帮你续,全程自动化。

更多推荐