@m0ch 在 解决cf worker部署的docker代理出现Missing x-amz-content-sha256问题 中发帖
分析
最近cf worker代理的docker镜像出现Missing x-amz-content-sha256问题,研究前人的代码,猜测可能的原因是广为流传的那份js脚本丢失了某些请求头或者请求参数,导致某个地方签名校验不通过?
[image]
既然如此,那就大力出奇迹,直接把请求整体转发,只对/token&/v2等关键部分进行替换和字段修复。
修复后worker代码
这份代码仅完成docker镜像拉取所需的逻辑,去掉了dockerhub网页代理(有需要的佬自行补充),去掉了nginx伪装(可以使用免费的WAF规则来代替):
// 根据主机名选择对应的上游地址
function routeByHosts(host) {
const routes = {
// 生产环境
"quay": "quay.io",
"gcr": "g...