最近公司在考虑是否用 Caddy 替换 Nginx, 对 Caddy 我就大概看了基础部分的内容, 还有很多不确定的地方. 希望通过 V2 得到一些建议, 谢谢.
1
seakingii 2022-05-17 19:43:38 +08:00 2
没有必要。和 NGINX 比,没有非 CADDY 不用的场景。
|
2
hdp5252 2022-05-17 19:46:08 +08:00 via Android
为什么要换,nginx 无法满足需求
caddy 可以? |
3
phithon 2022-05-17 19:46:24 +08:00
个人项目已经换了,比较方便容器化
|
4
statumer 2022-05-17 19:59:21 +08:00 via iPhone
如果你需要自动配置,服务发现,可以用 envoyproxy
如果你需要自定义逻辑处理,可以用高性能的 ngx-php(一个 nginx 扩展,类似于 openresty) 有什么理由用 caddy 呢? |
5
Herry001 2022-05-17 20:00:52 +08:00
没必要,这玩意配置一次基本不用改……而 Caddy 并没有显著的优势。
|
6
LeegoYih 2022-05-17 20:07:51 +08:00
除非你们团队擅长用 Go ,并且有对 Canddy 有二次开发的需求,否则肯定优先选 Nginx (我们公司用 OpenResty 和 Tengine
|
7
moen 2022-05-17 20:20:43 +08:00 1
我能想到 Caddy 的一个好处就是可以不用自己提供 SSL 证书开启 HTTPS
|
8
saltbo 2022-05-17 20:22:12 +08:00
我本来很喜欢 caddy 但是每次当我有点复杂需求的时候 他总让我去官网选择插件下载包含这个插件的版本 我就很烦
|
9
liuzhaowei55 2022-05-17 20:48:16 +08:00 via iPhone
完全没有必要,容器化简单点可以用 traffic
|
10
cmdOptionKana 2022-05-17 20:59:05 +08:00 1
如果没有复杂的需要,只是 1.静态网站 2.反代, 推荐用 Caddy 方便。
举个例子,安装 Caddy 后,vim /etc/caddy/Caddyfile blog.example.com { root * /home/user/blog/ file_server } abc.example.com { reverse_proxy 127.0.0.1:8080 } 然后 systemctl reload caddy 这样就有了一个静态站和一个反代网站,都是 https ,这就是一切操作,不需要其他任何操作。 如果你有比较复杂的需求,可能 nginx 好点,毕竟网上资料多,解决问题方便。 |
11
chinni 2022-05-17 21:15:58 +08:00
如果 caddy 只是用来反代 啥的 haproxy 也很可以的
|
12
yuekcc 2022-05-17 21:38:23 +08:00
对比过 caddy 、nginx 、traefik proxy 。
caddy 的好处就是自带 auto https 功能、静态文件服务( traefik proxy 没有内置),配置也比较省事; traefik 也支持 letsencrypt 支持,更倾向反向代理场景,动态配置比较方便,和 docker 配合也很容易。 可是,但凡有点性能需要,应该首选 nginx 。nginx 也支持 letsencrypt ,看着配置比较复杂。 |
13
T0m008 2022-05-17 21:39:43 +08:00
没必要,最熟悉的一般是最好的。
|
14
Love4Taylor 2022-05-17 21:52:12 +08:00
你自己也问是 “必要” 了,自己对比下两边如果没有你需要的功能为啥要换。
|
15
billzhuang 2022-05-17 22:52:20 +08:00
要么 envoy 要么 traefik
|
16
ysicing 2022-05-17 23:04:31 +08:00
caddy v2 版本感觉不太好用,还是 v1 版本好用。caddy 给我感觉唯一的好处就可以不用手动签发证书,开发自定义插件但是用途不大。
|
17
masterclock 2022-05-17 23:09:08 +08:00
用过 caddy ,没有过好的回忆
|
18
Remember 2022-05-17 23:09:22 +08:00
caddy 难道不是个人用的玩具?性能,稳定性,生态之类的有 nginx 好吗?
|
19
wonderfulcxm 2022-05-17 23:12:40 +08:00 via iPhone
我换成了 openresty ,不用改原来 nginx 配置,可玩性高了很多,lua-auto-ssl 也可以自动申请和续期 ssl 证书。
|
20
kongkongyzt 2022-05-17 23:36:09 +08:00
完全没必要
|
21
jiuhuicinv 2022-05-17 23:41:09 +08:00
没必要把
|
22
roundgis 2022-05-17 23:41:32 +08:00
我用 caddy 纯粹是为了蹭 https
它还有一个好处,可以在 windows 下运行 |
23
zvittt 2022-05-17 23:46:38 +08:00
我自己的服务是用 Caddy + Docker Compose 部署的,HTTPS 证书签发方便,不用我操心
|
24
xServ 2022-05-17 23:54:34 +08:00 via Android
nginx yyds
|
25
dcsuibian 2022-05-18 01:58:30 +08:00
看了一下评论,不用学新东西真是太好了
|
26
PolarBears 2022-05-18 02:49:48 +08:00
要不考虑换 OpenResty 吧,最近我也从 Nginx 换到 OpenResty 上了
|
27
xyjincan 2022-05-18 05:19:16 +08:00 via Android
感觉这个更安全,输入不符合的域名无法访问资源
|
28
arischow 2022-05-18 06:51:44 +08:00 via iPhone
这个更换能解决你们什么需求或者说有什么用户价值?考虑到这是一个公司项目
|
30
v2defy 2022-05-18 08:13:01 +08:00 via Android
Caddy 用过一点,感觉不是太好
|
31
IvanLi127 2022-05-18 08:15:19 +08:00 via Android
caddy 感觉上比较安全现代,简单用用还是很不错的。复杂场景下似乎功能不如 nginx 全,周边也不够全。
|
32
krixaar 2022-05-18 08:22:51 +08:00
没必要,caddy v1 那会儿图个方便,caddyfile 写那么几行啥都搞定了,caddy v2 配置变复杂了,果断切回 nginx+certbot 。
如果 certbot 能修好续签时不时崩掉 nginx 的那个 bug 就完美了。 |
33
vishun 2022-05-18 08:54:18 +08:00
@seakingii #1 有的,在 windows 下,nginx 就是各半成品,性能比不上 caddy ,当然还是 iis 性能最高。
|
34
sugars 2022-05-18 08:55:49 +08:00
先说说你们更换的原因?
|
35
mepwang 2022-05-18 09:02:33 +08:00
docker 映像 jrcs/letsencrypt-nginx-proxy-companion 也能自动更新证书,也不需要配置
|
36
olaloong 2022-05-18 09:25:33 +08:00
之前想换 Caddy ,结果配置愣是没看明白,劝退
还是 Nginx 香 |
37
northernlights0 2022-05-18 10:05:50 +08:00
没必要吧,caddy 就是胜在语言用的是 golang 以及配置简单。性能上 nginx 优于 caddy 。
|
39
ragnaroks 2022-05-18 10:36:33 +08:00
两者没有可比性,但是既然楼主问了,就代表心里是想替换的,这里建议从心
|
40
thinkershare 2022-05-18 10:57:18 +08:00
@seakingii 和你所在的行业有关系, 我们这个行业使用 Linux 才是非主流, 基本清一色 Windows Server 2016, 没有专业运维, 使用 Linux 纯粹是给自己找麻烦!
|
41
missdeer 2022-05-18 10:58:38 +08:00
个人从 nginx 切到 caddy v1 ,后来 caddy v2 出来了居然配置文件大变,切回 nginx 美滋滋
|
42
missdeer 2022-05-18 11:01:01 +08:00
@vishun 既然用 Windows 了,那就用 IIS 呀,如果可以不用 IIS ,说明也不那么在乎性能,nginx 损失的那些性能也能接受了
|
43
zoharSoul 2022-05-18 11:06:52 +08:00
@thinkershare #40 啥行业啊? 好奇问一下
|
44
neoblackcap 2022-05-18 11:10:26 +08:00
@saltbo 没办法,没法动态加载库
|
45
thinkershare 2022-05-18 11:25:23 +08:00
@zoharSoul ZF 部门, 公共资源交易中心, 还有一些是涉密的, 不方便说.
|
46
dingyaguang117 2022-05-18 11:28:08 +08:00
没必要,查文档找问题没有 nginx 资料多
|
47
yaoyao1128 2022-05-18 11:51:27 +08:00 via iPhone
没必要
caddy 的最大优势是现在可能就是反代加 https 基本傻瓜化 如果你不用自动更新证书的话个人觉得 nginx 更好用…… |
48
iyaozhen 2022-05-18 12:19:54 +08:00
没必要吧,这也太吃饱了撑着。不搞出几个线上问题,不舒服?
|
49
Kinnice 2022-05-18 12:27:33 +08:00
是想要创造几个线上事故?
|
50
qbqbqbqb 2022-05-18 12:35:18 +08:00
caddy 主要卖点就是自动申请和续签免费 https 证书,如果用不到的话没必要换
|
51
VagrantZ 2022-05-18 12:36:58 +08:00
nginx 似乎是没法反代 http2 ,caddy 好像可以?
|
52
whx 2022-05-18 12:43:08 +08:00 via iPhone
感觉 caddy 和 nginx 比,像个玩具。
开发团队很激进,更新一个版本就各种大改。 简单的需求用 caddy 可能比 nginx 简单,几行配置证书什么的都给你搞定。 如果有些稍微复杂一点的需求,就要自己去编译。 比如一个日志自定义格式化,研究了好久。最后得出结论,要自己去编译。之前的版本是支持的,后来更新了去掉了。 之前用 nginx 我都是直接 apt update ,从来没出过问题。 用 caddy 升级版本前我都得反复确认,不知道升级了哪些功能就被去掉了。 |
54
daydaysay 2022-05-18 12:47:42 +08:00
为什么 nginx 性能就高于 caddy 。 只因为 nginx 是 C 写的?
|
55
xumng123 2022-05-18 15:07:46 +08:00 via iPhone
没必要
|
56
Te11UA 2022-05-18 15:09:30 +08:00
@PolarBears #26 为什么用 openresty 呢?
|
57
leeyuzhe 2022-05-18 15:13:01 +08:00
我个人网站用的 caddy ,公司不推荐,因为对比 nginx 没有非用不可的理由
|
58
bipy 2022-05-18 16:04:34 +08:00
别换 坑太多
|
59
bugfan 2022-05-18 16:42:08 +08:00
3 ,4 年不用 nginx 了,一直都是用 golang 自己实现的代理,签发证书,tls 加载卸载,日志审计,访问规则等等
|
60
ungrown 2022-05-18 16:48:05 +08:00
@yaoyao1128 #47 nginx 自动更新 letsencrypt 的证书也挺方便
证书用 webroot 方式创建、更新(剩下的交给 certbot 自带的 cron 任务) certbot 配置里面加个 renew 的 hook ,重启 nginx (重新加载更新后的证书) 然后最最关键的就是在 nginx 每个站点配置里加一个特殊的 location ,写成 snippet ,直接在每个 http 的 server 里面 include https://github.com/mo-han/mo-han-toolbox/blob/master/etc/nginx/snippets/location-acme-challenge https://github.com/mo-han/mo-han-toolbox/blob/master/etc/nginx/snippets/location-acme-challenge-with-fallback |
61
PolarBears 2022-05-18 17:02:06 +08:00
@Te11UA #56 陈旧的应用系统没有维护但又有漏洞,我就用 OpenResty 来修补漏洞
|
63
Te11UA 2022-05-18 17:08:54 +08:00
如果仅仅是因为 https 的话,用 certbot 加个定时任务不就可以了吗
|
64
pursuer 2022-05-18 20:37:29 +08:00
nginx 在 windows 性能不好吗?什么原因?我记得 windows 下面是用的 IOCP ,性能应该不差的吧
|
65
drackzy 2022-05-18 22:04:08 +08:00
Caddy 出点 bug 折腾死。基础的没必要换成 Go 的轮子。
|
66
among 2022-05-18 22:08:40 +08:00
作为绿色版程序用挺好。简单测试使用够了。
|
67
bankroft 2022-05-18 22:10:43 +08:00
自用我从 caddy 换成了 traefik
|
68
JQSM 2022-05-18 22:23:42 +08:00
caddy v2 之后配置复杂了很多,既然都复杂那还是用 nginx 比较好,网上资料多,出问题容易解决。
|
69
yun 2022-05-18 22:49:50 +08:00
用了两年 Caddy ,从 1 到 2 ,确实不错,但不适合复杂的网络环境。
譬如 rewirte 不好弄,有时候还会死机,重启 caddy 才能访问网站。 |
70
padeoe 2022-05-18 22:53:01 +08:00
给公司团队用上 Caddy 一年了。最重要的原因——"Caddy: Web Server for Humans",语法人性化,各岗位开发都容易上手,基于此实现了网关配置 Devops 。
|
71
adoal 2022-05-19 00:57:04 +08:00 via iPhone
@PolarBears 哈哈,我也在搞这事。nginx 跑起 lua mod 后简直就是一个丐版 waf😄
|
72
ingnoscemihi 2022-05-19 02:04:23 +08:00
没有吧,如果你们网络不复杂倒是可以用,比如个人站什么的,复杂业务应该不适合
|
73
billzhuang 2022-05-19 11:11:08 +08:00
nginx 对我来说,痛点是,这个 health check 有点拉跨。
|
74
1988chg 2022-05-19 11:59:02 +08:00
没必要 实话说。
|