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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Caddy 反向代理入门/课时/Caddy vs Nginx
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综合练习

Caddy vs Nginx

功能对照;本站生产用 Nginx 的原因。

25 分钟

Caddy vs Nginx

本课 功能对照 Caddy 与 Nginx,并说明 CodeRoadMap 生产选用 Nginx 的原因。学完可据场景选型,测试环境可试 Caddy 自动 HTTPS。

学习目标

  • 对照配置、TLS、性能与生态差异
  • 将 Nginx 常见模式翻译为 Caddyfile
  • 理解本站坚持 Nginx 的运维考量

核心内容

功能对照表

能力NginxCaddyCodeRoadMap
反向代理proxy_passreverse_proxy双 upstream
自动 HTTPScertbot 插件内置 ACMENginx + certbot
配置检查nginx -tcaddy validate部署前必跑
热重载reloadcaddy reload零停机
负载均衡upstream 多 serverreverse_proxy a b c单机暂未用
限流 / WAF模块 + 生态插件 / 第三方见 ngx-headers
国内文档案例极丰富较少团队熟悉 Nginx

配置行数对比(双后端)

Nginx(节选,见 ngx-api):

upstream coderoadmap_backend { server 127.0.0.1:8080; }
location /api/ { proxy_pass http://coderoadmap_backend/; }
location / { proxy_pass http://coderoadmap_platform; }
# + ssl_certificate、proxy_set_header ...

Caddy(等价):

www.coderoadmap.cn {
    handle /api/* { uri strip_prefix /api; reverse_proxy 127.0.0.1:8080 }
    handle { reverse_proxy 127.0.0.1:3000 }
}

Caddy 省略 显式 TLS 与多数转发头;Nginx 显式可控,便于审计与复刻历史配置。

何时选 Caddy

  • 个人博客、Side Project:最少配置上线 HTTPS
  • 内网 homelab:自动证书 + Docker 一键
  • 团队已标准化 Nginx + prod.conf.example:不必迁移

何时坚持 Nginx(本站)

  • 生产配置已在 deploy/nginx/prod.conf.example 沉淀
  • 运维、监控、排障文档围绕 nginx-essentials
  • 复杂 map、limit_req、第三方模块 Caddy 需额外插件
  • Caddy 是本 track 的 备选学习路径,非生产强制替换。

    练习

    • 将 prod.conf.example 一条 location 改写为 Caddy handle
    • 列举两项 Nginx 有而 Caddy 需插件才能实现的能力
    • 写 100 字说明:新项目你会选 Caddy 还是 Nginx,为什么

    小结

    Caddy 胜在自动 TLS 与简洁;Nginx 胜在生态与 CodeRoadMap 现网。 下一课 K8s Ingress 对照。

    加载本节练习…
    ← 上一课Docker 运行 Caddy下一课 →K8s Ingress 对照