Caddy 很可能无法和 cdn 共用,浪费了两个人一下午之后换了 nginx 花 5 分钟搞好了 (腾讯七牛 CDN 相关) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fy
V2EX    Caddy

Caddy 很可能无法和 cdn 共用,浪费了两个人一下午之后换了 nginx 花 5 分钟搞好了 (腾讯七牛 CDN 相关)

  •  
  •   fy 2021-03-18 19:17:57 +08:00 3012 次点击
    这是一个创建于 1671 天前的主题,其中的信息可能已经有所发展或是发生改变。

    0.

    使用 caddy 的原因是有自动更新 https 证书。

    网络结构很简单,前面有一个域名,caddy 反向代理转给响应程序。

    1.

    先是使用七牛,然后发现半天过不了校验,一直在部署中,我们以为是七牛不行。

    加上七牛的自定义配置选项很少,于是换腾讯云 CDN 。

    然后又试,发现要么不行(403),要么重定向到了服务器内部域名(这个域名可以直接 ping 到服务器 IP)。

    2.

    随后,我们关闭了自动 https 重定向,终于不会暴露内部域名了。

    但现在会稳定得到一个 403 。

    3.

    把回源请求方式改为“始终使用 HTTP”,并且写了一个小服务脚本测试。

    发现了这样的问题:

    Caddy 获得了 CDN 转发来的请求之后,没有转发给上游,直接返回了 403

    随后就是 apt install nginx,10 分钟之后就正常工作了。

    虽然不排除可能是腾讯云和七牛的问题,但我还是对 caddy 感到费解,包括要求配置项的顺序要求也是,让人一头雾水的配置错误提示也是。

    PS. 附上配置和日志,以供参考:

    配置:

    http://xxx.q2test.cn, https://xxx.q2test.cn { reverse_proxy localhost:3000 } 

    请求失败,返回 403:

    Mar 18 18:26:40 iZbp1a0zoyd681g7u3kpzsZ caddy[522704]: {"level":"error","ts":1616063200.543761,"logger":"http.log.access.log0","msg":"handled request","request":{"remote_addr":"220.194.88.217:21901","proto":"HTTP/1.1","method":"GET","host":"xxx.q2test.cn","uri":"/","headers":{"Upgrade-Insecure-Requests":["1"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"],"X-Nws-Log-Uuid":["18288152216455359445"],"X-Tencent-Ua":["Qcloud"],"X-Forwarded-Proto":["http"],"User-Agent":["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36"],"Accept-Language":["zh-CN,zh;q=0.9"],"D541340abd8120abcb55ffb8fc48b3ce":["tag"],"X-Forwarded-For":["118.113.4.159"],"X-Daa-Tunnel":["hop_count=1"]}},"common_log":"220.194.88.217 - - [18/Mar/2021:18:26:40 +0800] \"GET / HTTP/1.1\" 403 0","duration":0.000036437,"size":0,"status":403,"resp_headers":{"Server":["Caddy"]}} 

    不通过 cdn 请求成功:

    Mar 18 18:26:59 iZbp1a0zoyd681g7u3kpzsZ caddy[522704]: {"level":"info","ts":1616063219.6977851,"logger":"http.log.access.log0","msg":"handled request","request":{"remote_addr":"117.113.2.139:57097","proto":"HTTP/1.1","method":"GET","host":"xxx.q2test.cn","uri":"/","headers":{"Connection":["keep-alive"],"Upgrade-Insecure-Requests":["1"],"User-Agent":["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36"],"Accept-Language":["zh-CN,zh;q=0.9"],"If-None-Match":["\"e02aa1b106d5c7c6a98def2b13005d5b84fd8dc8\""],"Cache-Control":["max-age=0"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"],"Accept-Encoding":["gzip, deflate"]}},"common_log":"117.113.2.139 - - [18/Mar/2021:18:26:59 +0800] \"GET / HTTP/1.1\" 304 0","duration":0.001917656,"size":0,"status":304,"resp_headers":{"Server":["Caddy","TornadoServer/6.1"],"Date":["Thu, 18 Mar 2021 10:26:59 GMT"],"Etag":["\"e02aa1b106d5c7c6a98def2b13005d5b84fd8dc8\""]}} 
    4 条回复    2023-02-18 01:03:59 +08:00
    cmostuor
        1
    cmostuor  
       2021-03-18 19:49:25 +08:00
    caddy 官网下载的是 v2 的版本
    Caddy2 的配置写法 得这样
    http://xxx.q2test.cn, https://xxx.q2test.cn {
    route {
    reverse_proxy {
    to localhost:3000
    }
    }
    }
    cmostuor
        2
    cmostuor  
       2021-03-18 19:59:20 +08:00
    官方的文档已经说明了每个 directives 的用法 https://caddyserver.com/docs/caddyfile/directives
    XIU2
        3
    XIU2  
       2021-03-18 20:46:44 +08:00
    我用 Caddy 的主要原因就是,Caddy 只有一个单文件比较绿色便携,配置文件比较简单,很适合用来搭配小项目、临时网站等需求。

    特别是我以前写过的一些需要 HTTP 服务的简单 Web 项目一键安装脚本时,往往会搭配一个简单的 Caddy (而不需要去安装配置一个相比更复杂点的 Nginx,毕竟 Nginx 在有些时候还是感觉有点重~)

    当然如果我的服务器中已经安装的有 Nginx 的话,我就没必要多此一举了。
    qgbcs1
        4
    qgbcs1  
       2023-02-18 01:3:59 +08:00
    unix 套接字地址的语法在 v2 中有所不同。

    unix//run/gunicorn.sock
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     928 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 20ms UTC 20:51 PVG 04:51 LAX 13:51 JFK 16:51
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86