惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Martin Fowler
Martin Fowler
雷峰网
雷峰网
IT之家
IT之家
小众软件
小众软件
M
MIT News - Artificial intelligence
博客园 - 聂微东
J
Java Code Geeks
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
About on SuperTechFans
G
Google Developers Blog
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
C
Check Point Blog
云风的 BLOG
云风的 BLOG
腾讯CDC
H
Help Net Security
Y
Y Combinator Blog
I
InfoQ

Caddy

单位目前业务都是 nginx+手动操作 acme 续期,我想给全整成用 Caddy。目前试着改了一个流量小的业务暂时没发现有什么异常。试问: Caddy2 能用于正经的生产环境吗 hosts 文件中指定域名到 127.0.0.1,https 访问本机 caddy 搭建的 web 网站 这个关于 naiveproxy 配置关于咋写哈 caddy 能不能跟 asp.net 组合建站? 写了个 Caddy2 插件 geocn 用于识别中国大陆 ip 请教一个 caddy2 的反代规则 Caddy file_server 怎么样配置多个目录? caddy 能稳定用于简单的生产环境中吗 一个简洁又强大的 Caddy,难用起来也会让人无语 CaddyServer 1.0 已发布 caddy 服务器返回一个 json Caddy Server 已支持 QUIC 协议,又可以折腾新技术了 一个 Caddy Server 的简易入门手册, QwQ Caddy Server 作者关于服务器软件是否应该免费写的一篇文章 再推荐一下 Caddy HTTP Server。 caddy 一个可以直接当博客程序用的 nginx
Caddy 很可能无法和 cdn 共用,浪费了两个人一下午之后换了 n...
fy · 2021-03-18 · via Caddy

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\""]}}