CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Caddy 反向代理入门/课时/自动 HTTPS
RawBlame
课时目录12 节

Caddy 反向代理入门

  1. 01Caddy 是什么
  2. 02安装与运行
  3. 03Caddyfile 语法
  4. 04自动 HTTPS
  5. 05反向代理
  6. 06双后端拓扑
  7. 07静态文件
  8. 08Docker 运行 Caddy
  9. 09Caddy vs Nginx
  10. 10K8s Ingress 对照
  11. 11排障
  12. 12综合练习

自动 HTTPS

Let's Encrypt、on-demand TLS 概念。

30 分钟

自动 HTTPS

Caddy 的核心卖点是 开箱即用的 TLS:指定域名后自动向 Let's Encrypt 申请、续期证书。对照 ngx-ssl,无需 certbot 与 ssl_certificate 路径配置。

学习目标

  • 理解 Caddy ACME 自动申请与续期流程
  • 配置 HTTP→HTTPS 与裸域→www 跳转
  • 了解 on-demand TLS 概念与生产慎用场景

核心内容

自动证书如何工作

Caddy 启动 → 解析站点域名 → ACME HTTP-01 / TLS-ALPN-01
         → 证书写入 /var/lib/caddy → 自动续期(到期前)

前提:DNS A/AAAA 指向本机(dns-records),80 或 443 可从公网访问。本地开发可用 tls internal 自签。

CodeRoadMap 风格跳转

coderoadmap.cn {
    redir https://www.coderoadmap.cn{uri} permanent
}

www.coderoadmap.cn {
    # reverse_proxy ...
}

等价 Nginx 的 return 301 https://www.coderoadmap.cn$request_uri。Caddy 不会 为纯 HTTP 站点自动证书 unless 配置了 HTTPS 站点块。

测试与 staging

{
    acme_ca https://acme-staging-v02.api.letsencrypt.org/directory
}

staging 证书不被浏览器信任,用于验证 dns-troubleshoot 与防火墙。验证通过后改回默认 Let's Encrypt 生产 CA。

on-demand TLS(概念)

{
    on_demand_tls {
        ask http://127.0.0.1:8080/caddy/ask
    }
}

https:// {
    tls {
        on_demand
    }
    reverse_proxy ...
}

适用于 多租户自定义域名;需 ask 接口防滥用。CodeRoadMap 固定 www.coderoadmap.cn,生产用显式域名块即可,与 Nginx + certbot 固定证书策略一致。

后端是否还要 HTTPS

Caddy → Spring Boot / Next.js 仍用 **http://127.0.0.1**(同机信任边界)。跨主机 upstream 应内网 TLS(kubernetes-essentials 另论)。

练习

  • 用 staging CA 申请测试证书并观察 /var/lib/caddy
  • 写裸域→www 的 redir 块并对照 Nginx 301
  • 说明 ACME 失败时常见原因(DNS、防火墙、速率限制)
  • 小结

    Caddy 自动 TLS 省 certbot;DNS + 443 可达是前提。 下一课 reverse_proxy 基础。

    加载本节练习…
    ← 上一课Caddyfile 语法下一课 →反向代理