专栏名称: IT服务圈儿
关注互联网前沿资讯,提供最实用的学习资源。我们是有温度、有态度的IT自媒体平台。
目录
相关文章推荐
学习曾国藩  ·  一个人值不值得深交,就看这三个特征,很准! ·  4 天前  
每天60秒知天下  ·  厌学的孩子有救了!北大专家揭秘厌学症的“大脑 ... ·  2 天前  
每天60秒知天下  ·  厌学的孩子有救了!北大专家揭秘厌学症的“大脑 ... ·  2 天前  
印象笔记  ·  无畏少年与破产国家|一周收藏排行 ·  3 天前  
51好读  ›  专栏  ›  IT服务圈儿

Caddy 可做 Nginx 平替!且自动支持 HTTPS 证书

IT服务圈儿  · 公众号  ·  · 2025-01-23 17:30

正文

来源丨经授权转自 古时的风筝(ID:gushidefengzheng)

作者风筝

Nginx 想必每一个开发都听说过吧,一个高性能的反向代理服务器和负载均衡器,同时也是一个轻量级的 Web 服务器,常用于处理并发连接和静态资源服务。

作为一个开发,在你拥有一台自己的服务器之前,可能只有极少数的人自己配置过 Nginx,大多数都停留在简单了解的层面上。

而当你有了自己的服务器后,初次使用 Nginx 大概率会觉得有点繁琐。但是繁琐也没有什么好方法,就是孰能生巧的事儿。以我的经验来讲,其他的配置都还好,复制粘贴基本上没什么问题,最烦人的地方就是HTTPS 协议的 SSL 证书。


但是还是有人觉得不够方便。如果纯站在技术角度的思考,Nginx 结合上面的两种自动证书续期的方式已经很方便了。但是,抛开技术不谈,我们有了自己的服务器要干什么呢,比如搭建个人博客、部署自己的产品,在这样的场景下,稳定快速的上线才是我们的最终目的,中间的环节当然是越快越简单最好了。

基于这样的目的来考虑,最方便的方式是让 Nginx 自动就支持 HTTPS,或者说自带证书,这样就最好了。

但是很可惜,Nginx 目前没有这样的功能,不过有另外一个产品既能当服务器又自带证书,那就是 Caddy。


Caddy

Caddy 和 Nginx 类似,也是 Web 服务器和反向代理服务器。在国内用的比较少,但是在国外很多知名产品都在用。

官网:https://caddyserver.com/

1、Caddy 的设计理念是“开箱即用”,默认内置 Let's Encrypt ,自动支持 HTTPS。并且自动处理 TLS 证书的获取和续订,减少了配置复杂度。

这就是上面说的 Nginx 的痛点,当你部署好 Caddy 时,就不用考虑购买证书、续订的事儿了。

2、Caddy 使用简单的 Caddyfile 作为配置文件,也就是Nginx中的 conf 配置文件,但是语法比 Nginx简洁很多。

下面是 Caddy 和 Nginx 配置的对比,Caddy 比 Nginx 简洁,而且Nginx要想支持 HTTPS,还要配置好几行,包括证书位置和使用的算法等。

更多的配置可到官网 https://caddyserver.com/docs/caddyfile 获取。

Caddy 配置,(自动启用 HTTPS,托管静态文件)

example.com {
root * /var/www/html
file_server
}

Nginx 配置

server {
listen 80;
server_name example.com;

location / {
root /var/www/html;
index index.html;
}
}

(默认使用 HTTP,若要启用 HTTPS,需要手动配置 ssl_certificate 和 ssl_certificate_key

3、和 Nginx 一样,Caddy 也有插件系统丰富,可动态加载模块。

4、支持 HTTP/3、反向代理、负载均衡和静态文件托管,并且Caddy 是第一款内置支持 HTTP/3 和 QUIC 的 Web 服务器


和 Nginx 的区别

Caddy 的性能虽然也不错,但在极端高负载环境中,通常表现略逊于 Nginx。Nginx 支持更广泛的 企业级场景,如复杂的负载均衡、缓存策略和请求限速。

对于小型项目或需要快速部署 HTTPS,Caddy 是一个不错的选择,比如我们的个人博客,自己做的产品。

对于大型企业级应用,Nginx 仍然是成熟的选择。


最后

如果你有自己部署服务的需求,不妨试试 Caddy。

只能说学习成本极低,部署效率极高,而且不用浪费精力搞 HTTPS 证书。

1、 20k star! 让你在浏览器里直接体验 20 多种操作系统!







请到「今天看啥」查看全文