董卓 发表于 2022-2-9 15:07

chrome94版本CORS跨域问题之后影响http非s下的jsdelivr免费CDN

本帖最后由 董卓 于 2022-2-9 15:59 编辑

在静态站上引用大资源/定期更新资源,使用jsdelivr 自动CDN的github资源,进行静态博客更新等,是一种常见的静态站点玩法。

在Chrome94版本更新之后,不在允许在HTTP域下请求HTTPS资源,会报错:
the request client is not a secure context and the resource is in more-private address space `local`
jsdelivr会对http请求自动升级到https。

当然我们也知道,这可以通过改动浏览器chrome://flags的配置Block insecure private network requests解决
但你没办法要求所有小白用户都去做chrome://flags设置。

又当你博客站点没https证书的时候,通过jsdelivr CDN的github资源就全都报错了……

得去搞证书搞实名认证,这就不好玩了呀


ps.
好像是chromebug
https://bugs.chromium.org/p/chromium/issues/detail?id=1287500
https://github.com/jsdelivr/jsdelivr/issues/18201#issuecomment-1012912236

5long 发表于 2022-2-9 15:14

TLS 证书不必实名认证吧?
至少 Let's Encrypt 肯定不用

plumlis 发表于 2022-2-9 15:23

jsdelivr CDN不是已经被玩坏了吗

董卓 发表于 2022-2-9 15:34

本帖最后由 董卓 于 2022-2-9 16:21 编辑

5long 发表于 2022-2-9 15:14
TLS 证书不必实名认证吧?
至少 Let's Encrypt 肯定不用
这个的前提是你的静态资源托管站要支持ACME啊……
不支持ACME怎么玩
好吧,好像可以搞dns的DNS-01 challenge

董卓 发表于 2022-2-9 16:46

确定是chrome bug
在96复现
升级到98最新版本后问题消失。

Issue 1287500: 307 Redirect after HSTS in response header fails due to missing CORP header

aithinkso 发表于 2022-2-9 19:11

这么容易复现的问题居然也能发布,我怀疑是故意的

—— 来自 Xiaomi Redmi K30 5G, Android 11上的 S1Next-鹅版 v2.5.2

huaxianyan 发表于 2022-2-10 08:57

用 DNS API 申请不用管啊…

我拿了一台 Oracle 专门申请证书,再分发到国内外各自域名的机器上

—— 来自 Google Pixel 5, Android 12上的 S1Next-鹅版 v2.5.2-play
页: [1]
查看完整版本: chrome94版本CORS跨域问题之后影响http非s下的jsdelivr免费CDN