简介

虽然是一个烂大街的技术。Workers每天提供免费的 10万次请求而不计算流量,个人完全是够够够用了。

众所周知,pixiv的图片伺服器网域为 i.pximg.net,因为有盗连保护,只要 Referer是空值或不是来自 pixiv的网域就会返回 403

反向这个代理只需要将 i.pximg.net更换为搭建的反向代理 pixiv.anyfan.top就可以使用,

例如:

实现步骤

域名验证

登陆cloudflare,之后把你的域名使用Cloudflare解析(这个过程我觉得没必要详细讲了,如果嫌国内解析慢的,可以在通过验证后在转移到国内)

创建Workers

打开你的域名管理页面,点击上面的 Workers,再点击 管理 Workers,进入Workers管理页面。

点击 创建 Workers进入脚本编辑器,删除掉里面所有的代码,粘贴下面的代码进去。

addEventListener("fetch", event => {
  let url = new URL(event.request.url);
  url.hostname = "i.pximg.net";

  let request = new Request(url, event.request);
  event.respondWith(
    fetch(request, {
      headers: {
        'Referer': 'https://www.pixiv.net/'
      }
    })
  );
});

注:左上脚的 pixiv.a-f.workers.dev为你设置的项目域名

Workers配置路由

再次回到域名管理页面,找到 Workers,再点击 添加路由,参考如图。

DNS解析

配置 dns解析,参考如图。

如果你的解析不在cloudflare,像我解析设置在阿里云,没有像cloudflare一样页面缓存,所以还要将此解析指定到cloudflare。参考下图。(当然你也可以像上一步一样直接设置 CHAME解析,但是访问相同图片可能会浪费请求次数。)

注:kay.ns.cloudflare.com为cloudflare的DNS解析服务器,可能有所不同。可以在域名管理页查看。

问题:在设置 CDN时候,众所周知 cloudflare除了在国内都挺快的,于是我就想设置国内的 CDN缓存,但是图片总是返回 ERR_CONTENT_LENGTH_MISMATCH,很是懊恼头秃,可能是因为2级缓存的原因,目前没有较好的解决方法。

最后修改:2021 年 10 月 06 日 10 : 15 PM
赏口饭吃,行行好吧,客官!