前言
众所周知,jsdelivr在国内基本上是死了,不要抱有侥幸心理了,fastly与cdn这俩子域处于半死不活的状态
本来没打算写这篇文章的,感谢可爱的[某科学的贝壳],让我大半夜突然想写一篇

准备工具:手+脑子+一台国外或港台服务器+域名
本教程基于宝塔面板,如果您还不会安装宝塔面板,您可以前往->bt.cn
step1.新建一个网站

step2.将你的网站申请ssl证书(这步太简单了我都不知道咋截图,反正就是一键获取证书)
step3.点开网站,在边上菜单里找到配置文件,并写入以下代码
proxy_cache_path /JsdelivrCache levels=1:2 keys_zone=jsdelivr:50m max_size=10g inactive=1200d
use_temp_path=off;

step4.还是在这个“站点修改”窗口,在下面找到“反向代理”,并按照我的图示配置

最主要的地方别填错,再上图已用绿色荧光笔标出
step5.上述反向代理添加完成之后直接点击该页面上的“配置文件”,然后把里面的东西全删了填写我下面的代码

简单的介绍一下里面的东西
代码分为两部分,填写在两个不同的地方,我们先讲第一个
/JsdelivrCache表示缓存的路径为/JsdelivrCache,levels=1:2表示缓存是两级目录
keys_zone表示在共享内存中设置一块存储区域来存放缓存的key(url的hash值)和metadata(类似使用次数),这样nginx可以快速判断一个request是否命中或者未命中缓存
max_size:最大缓存空间,这里缓存的是占用空间小的的静态资源不用设置一个很大的值。
inactive:未被访问文件在缓存中保留时间,这里设置成1200天,nginx会删除指定时间内没有被缓存命中的缓存文件。
第二部分
proxy_http_version 1.1;proxy_set_header Connection "";
这两段表示使用http1.1协议与后端建立长连接可以避免反复开销连接降低速度,不设置会默认使用http1.0。
proxy_ssl_server_name on;代理ssl sni,这行必须配置,否则CDN会报错。
proxy_cache_valid 200 365d; 表示缓存状态码和过期时间,这里只缓存200的请求,并且缓存一年时间,1年之后缓存过期nginx会再次访问Jsdelivr,如果后端静态文件更新不频繁建议设置成一个较大的值,更新频繁缓存时间可以设置小一点。
expires 365d;这里是指让客户端浏览器缓存静态文件的时间,避免反复请求服务器,加快本地访问,这里设置成1年。同上,如果静态资源库的更新频繁建议设置为一个较小的值。
结尾
本教程东抄抄西抄抄拼凑出来的,大佬勿喷(反正我抄的,要骂你去骂原作者去)
jsdelivr真可惜啊,建议各位别拿大厂的鸡做反代,容易死。
如果懒的话可以用本站做好的 https://jsd.gov.yachts
简单给个例子:https://jsd.gov.yachts/gh/biliblihuorong/Resources/Image/avatar.jpg
撰写评论