跳到主要内容

BlackBlaze B2存储使用Cloudflare Workers代理并设定缓存

创建一个Cloudflare Worker,代码如下:

addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
let url = new URL(request.url)
let bucketName = "你的桶名"
// 友好URl的域名
let b2BaseUrl = `https://fxxx.backblazeb2.com/file/${bucketName}`

// 拼接 B2 URL
let newUrl = b2BaseUrl + url.pathname

// 通过 fetch 代理请求到 B2
let response = await fetch(newUrl, {
headers: {
"Origin": null
}
})

// 复制原始响应的头信息
let newHeaders = new Headers(response.headers)

// 设置强制缓存
newHeaders.set("Cache-Control", "public, max-age=31536000, immutable")
newHeaders.set("Access-Control-Allow-Origin", "*")

return new Response(response.body, {
status: response.status,
headers: newHeaders
})
}

为这个Worker绑定自定义域名

设置缓存

图片

图片来自Loudomian,使用我自己图床