失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > github Page博客速度优化+Cloudflare_https两端配置+解决重定向次数过多问题

github Page博客速度优化+Cloudflare_https两端配置+解决重定向次数过多问题

时间:2019-06-19 07:17:55

相关推荐

github Page博客速度优化+Cloudflare_https两端配置+解决重定向次数过多问题

网站加速调优

自从加了CDN之后我的博客偶尔会报错”重定向次数过多“

症状:

XXX.XXX.XXX 将您重定向的次数过多。

尝试清除 Cookie.

ERR_TOO_MANY_REDIRECTS

可能原因

参考阿里云cdn解决方案/document_detail/451418.html但是cloudflare中并无类似解决方案,排查CDN中ssl相关的,还有github.io设置众所周知,github.io 的ssl证书自动给你续签。

也有可能301被cdn缓存,/article/749187

尝试解决

cloudflare CDN 中的https/ssl开启,github.io中的enforce https勾选不了

参考 /cvan/8630f847f579f90e0c014dc5199c337b

cloudflare page rule 设置参考文档/hc/en-us/articles/218411427-Is-there-a-tutorial-for-Page-Rules-

意思就是说,浏览器先请求cdn,但cdn只希望从客户端获取https的请求(page rule使用https redirect),于是重定向的过程到不了github.io 因此也就没必要再enforce https。

试了还是不行

最终找到以下博客,完美解决以上系列问题

最终方案

参考

https://siriusq.top/github-pages-%E5%90%AF%E7%94%A8-cloudflare-%E5%8A%A0%E9%80%9F%E5%8F%8A-https.html

edge端开启alway use https 和Opportunistic Encryption(HTTP/2的新特性)

origin server端开启源端认证

把上图proxied先全部改为dns only,再回github page刷新

之后可以启用cdn的严格ssl模式

然后再回去把云朵都变黄,流量通过CF即可

改天再试试cloudflare Page,据说节点更好用一些https://hee.ink/p/%E4%BB%8E-github-pages-%E8%BF%81%E7%A7%BB%E5%88%B0-cloudflare-pages-%E7%9A%84%E4%BD%93%E9%AA%8C%E4%B8%8E%E8%B8%A9%E5%9D%91%E5%B0%8F%E8%AE%B0/

速度测试

速度实在是惨不忍睹,,,

速度分析

/video/compare.php?tests=230113_BiDcCR_694-r:1-c:0

境外的测试网站(/),境内阿里云的图床,而且个别图片高达1MB多

测试网站性能的工具

https://putong.one/speed-test.html

然而桌面端却好一倍,/speed/pagespeed/insights/ 以上图片来源于此站点测试

主要还是图片大小问题了

优选CF IP /badafans/better-cloudflare-ip

CF CDN缓存配置

cloudflare cf cdn默认只缓存2个小时,提示REVALIDATED,或者EXPIRED如何修改HIT时长,缓存哪些扩展名文件?302 404缓存时间,自定义页面规则

用了一段时间cf,发现经常提示REVALIDATED,,基本上几个小时就一次,然后要回源判断文件是否更新,要不然就是EXPIRED提示文件缓存已经到期。

根据官方文章表明,只缓存2小时

200 301 120m;

302 303 20m;

403 5m;

404 5m;

any 0s;

/hc/en-us/articles/202775670

说可以通过服务器输出Cache-Control: s-maxage=200,头部来告诉CDN缓存多长时间在节点上,不过我没测试。

If the URL matches: By using the asterisk (*) character, you can create dynamic patterns that can match many URLs, rather than just one. Learn more

/hc/en-us/articles/218411427

页面规则写,不要带http或者https,这样写法是整个域名包括所有二级域名都生效

/

复制代码

Edge cache ttl改成一个月,也就是672h0m0

这样就可以缓存长达一个月的时间啦!

参考写法

/static/

[/static/ subdirectory for static HTML pages]

/.shtml

[.shtml file extension to signify HTML that is static]

/?static=true

[adding static=true query parameter]

如果Cache-Control标头设置为“private”,“no-store”,“no-cache”或“max-age = 0”,或者如果响应中有cookie,则Cloudflare将不会缓存资源,除非将页面规则设置为缓存所有内容并设置了边缓存TTL。

/hc/en-us/articles/200172256

cloudflare默认提供缓存哪些扩展名文件?

bmp ejs jpeg pdf ps ttf

class eot jpg pict svg webp

css eps js pls svgz woff

csv gif mid png swf woff2

doc ico midi ppt tif xls

docx jar otf pptx tiff xlsx

/hc/en-us/articles/200172516

cloudflare cf CDN 使用服务条款 tos帮助页面,是否允许缓存视频,音频文件

/forum.php?mod=viewthread&tid=94372&fromuid=1

如果觉得《github Page博客速度优化+Cloudflare_https两端配置+解决重定向次数过多问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。