Py学习  »  NGINX

一键HTTPS、零配置部署:替代 Nginx 的开源神器!

极客之家 • 1 月前 • 42 次点击  
图片

在Web服务器领域,Nginx和Apache长期占据统治地位。现在有一款更优的选择!

如果你已经厌倦了管理复杂的 Nginx 配置文件和手动配置 SSL 证书,那Caddy 就是你的不二选择。Caddy自2014年开源以来,已经收获近65k star,受到众多开发者追捧。

简介

Caddy 是一个用 Go 语言编写的、开源的、功能强大的 Web 服务器。它的核心设计理念是简单易用默认安全 (Secure by Default)。

优势

颠覆性的自动HTTPS

Caddy最革命性的特点是全球首个默认启用HTTPS的Web服务器。传统服务器需要复杂配置的SSL证书,而Caddy只需两行配置:




    
yourdomain.com
respond "Hello HTTPS!"

启动后,Caddy自动完成:

  • 通过ACME协议(默认使用Let’s Encrypt)申请证书
  • 自动配置HTTPS并监听443端口
  • 将HTTP请求重定向至HTTPS
  • 后台自动续期证书,无需人工干预

这一特性让个人博客、中小型站点彻底告别证书管理烦恼。

极简设计与强大功能

与臃肿的传统服务器不同,Caddy采用单一静态二进制文件,无任何依赖(甚至不依赖libc),安装只需3步:

wget https://github.com/caddyserver/caddy/releases/latest/download/caddy_linux_amd64
chmod +x caddy_linux_amd64
mv caddy_linux_amd64 /usr/bin/caddy

但其能力却毫不缩水:

  • 原生支持HTTP/1.1、HTTP/2及实验性HTTP/3
  • 反向代理与负载均衡(含WebSocket)
  • 静态文件服务(隐藏.git等敏感文件)
  • Markdown实时渲染
  • IPv4/IPv6双栈支持
  • 内置BASIC认证、Gzip压缩等中间件

安全

采用Go语言编写带来内存安全优势,天然免疫 HeartbleedDROWN等经典漏洞。其默认加密套件为ECDHE ECDSA + AES256-GCM-SHA384,支持TLS 1.3,并通过TLS_FALLBACK_SCSV防御协议降级攻击

实战

场景1:静态网站托管

假设目录结构如下:

.
├── Caddyfile
└── public
    ├── index.html
    └── about.md

Caddyfile配置:

example.com {
    root * ./public  # 设置根目录
    file_server      # 启用文件服务
    encode gzip      # 开启压缩
    templates        # 支持模板渲染
}

运行caddy run,访问 https://example.com,Caddy自动处理证书和HTTPS跳转!

场景2:带认证的反向代理

保护内网应用的安全暴露:

api.example.com {
    reverse_proxy localhost:8080  # 转发到本地服务
    basicauth /admin/* {          # 为/admin路径添加认证
        admin JDJhJDE0JGEySk9janFMdHlBY2Y0aVdQZklQak9HcmwzNDZhNFg0N3V5Ny9EZkZMZHB1Nkt4ZE5BNGJt 
    }
}

密码通过caddy hash-password生成,避免明文存储。

为何Caddy是未来之选?

  • 开发体验革命: 告别Nginx的繁琐配置,一条命令启动服务
  • 安全默认值: HTTPS即正义,Caddy将其变为现实
  • 云原生友好: 单一二进制+无依赖,完美适配Docker( docker pull caddy
  • 扩展自由: Go模块化架构允许自定义中间件开发
  • 性能可靠: 经受数万亿请求验证,可扩展至数十万站点

真实案例: 某开发者原使用Nginx配置全站HTTPS,屡次因证书过期导致服务中断。迁移至Caddy后,运维时间减少90%。

开源地址

https://github.com/caddyserver/caddy

后端专属技术群

构建高质量的技术交流社群,欢迎从事编程开发、技术招聘HR进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!

文明发言,以交流技术职位内推行业探讨为主

广告人士勿入,切勿轻信私聊,防止被骗

图片
加我好友,拉你进群

点下方的“❤支持我们,非常感谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/183458
 
42 次点击