我用腾讯云 EdgeOne Makers 做了个代理网关
腾讯云说他们要做中国的 Cloudflare 也确实有样学样的在他们家 EdgeOne 服务中搞起了边缘函数(Workers)和 Makers(Pages),我在 25 年底搞到了免费版 EdgeOne 现在我的博客就是基于腾讯云 EdgeOne CDN。
使用了快一年的时间,由于我的博客是备案域名支持中国大陆加速,基于我自身的体验感觉还不错, 国内访问速度快的飞起以前拿美国 VPS 访问测试过速度也行,但仅使用 CDN 似乎还不够压榨 EdgeOne 免费套餐,所以我拖拖赖赖的花了近一年时间先把壁纸接口部署到了 EdgeOne 边缘函数上,壁纸 API 接口源码和使用说明可以访问 https://www.yumus.cn/apidoc 获取,如你有需要可以自取食用。前不久还用他们家 CodeBuddy/WorkBuddy 编写了一个代理网关,今天我打算开放源码出来毕竟好东西要大家一起分享,顺便说一下 CodeBuddy/WorkBuddy 现在还在搞活动 点击这里注册下载可以获得2000积分(2000积分可以使用很久了),如果你还没有使用过 CodeBuddy/WorkBuddy 不妨帮个忙注册一下让我赚 50 积分,毕竟你自己也可以获得 2000 积分。
代理网关
言归正传,代理网关基于腾讯云 EdgeOne Makers 部署,此代理不是用来科学上网的那种,真正的作用是用来处理前端请求 CORS 跨域问题的,想必搞前端开发的友友们会经常遇到这种恶心问题,如前端 ajax 请求某一个 json 出现 CORS 报错,此时你仅需要在原 json 链接前面拼接网关域名即可完美规避。

上面是我自己部署的代理网关截图,想要体验的可以访问 URL https://proxy.yumus.cn/(这是我的代理网关哈,友友们最好自己部署一套,要是请求量大到我承受不了我可是会限制掉)。
破除防盗链
同时此代理网关还可以用来破除防盗链,一共支持两种放盗链破除方式,我拿微博上面的一张图片来举例。
方式一
比如你想要在自己的网站上直接引用微博图片 https://wx3.sinaimg.cn/mw2000/003yHo7Nly1iceoaz83nvj60zk1be7lf02.jpg (感谢仙女姐姐的友情支持),但微博设置了防盗链,你的网站里面无法直接加载这张图片。
那么你仅需要在微博图片 URL 前面加上代理网关域名 https://proxy.yumus.cn/,拼接好的 URL 为:https://proxy.yumus.cn/https://wx3.sinaimg.cn/mw2000/003yHo7Nly1iceoaz83nvj60zk1be7lf02.jpg (眼睛放亮点哈,注意看清楚),这样你的网站就可以随意引用而不会出现被微博防盗链拦截啦。
方式二
微博的防盗链设置是允许微博自己访问,同时允许浏览器直接打开图片 URL 访问,此方式是大部分网站的防盗链设置,但有些网站的防盗链更进一步,仅允许自己访问不允许浏览器直接访问 URL ,比如我自己的博客,我就是设置的仅允许我的网站访问,直接在浏览器里面打开图片 URL 访问不了。针对此种情况代理网关提供了一种进阶破除方式,我继续拿微博图片举例(你就假装他们不允许浏览器直接打开好了)。
那么你仅需要在图片 URL 前面拼接代理网关域名和对方网站的白名单域名即可,例如微博仅允许自己的 weibo.com 使用,那么 weibo.com 就是他们的防盗链白名单,所以 URL 前面需要拼接 https://proxy.yumus.cn/weibo.com/,拼接后的 URL 则为:https://proxy.yumus.cn/weibo.com/https://wx3.sinaimg.cn/mw2000/003yHo7Nly1iceoaz83nvj60zk1be7lf02.jpg(感谢仙女姐姐的再次深情演绎)。
部署方式
- 进入腾讯云 EdgeOne 选择 Makers,然后点击【创建项目】选择【直接上传】。
- 把下载的源码ZIP压缩包直接上传上去并立即部署,接着绑定自己的域名即可。
至此你学废了吗?下载源码请点击下方按钮。