NAS、VPS注意!你需要做一层隔离才安全
这件事情是这样的,iN自己虽然不弄在家里弄NAS什么的,但是还是会有在家看视频的需求的。同样也很懒,懒得各种论坛搜索下载资源。因此就在家做了一个视频站点,通过源搜刮的功能来收集视频源。
![NAS、VPS注意!你需要做一层隔离才安全](https://am.zdmimg.com/202405/18/6648476015e33994.png_e1080.jpg)
这件事很多很多人都会做,也没必要写什么教程。
不过,有的时候会因为网络封堵的问题导致一些视频源不太通畅,这不最近几天《庆余年2》在收集的时候由于这个剧太火,导致了源URL的宕机,丢在VPS上的服务器也就搜索不到任何资源了……
这件事实际上来源于各种服务API端口的限制。
怎么整?
我们是可以利用cloudflare的Worker来处理的。方法就是简单的给我们的URL请求加个壳。
说下原理:
大部分基于各种URL的API通常都并不会很在意源请求地址是什么,但是往往很频繁请求的源往往会被block掉。这就导致我们在通过web客户端去调用的时候出现错误。
![NAS、VPS注意!你需要做一层隔离才安全](https://qnam.smzdm.com/202405/18/66484760619fc994.png_e1080.jpg)
同样,大多数基于WEB API的内容是可以修改的,如果被修改后往往会引入不安全的问题。
对于这种现象,我们可以利用网络工具给请求的目标加个“壳子”,确切说就是URL转发——把我们要请求的URL地址发送到自己制作的一个Worker脚本中,然后再让这个Worker脚本去请求真正的服务,请求的结果再通过Worker返回我们自己的服务器中。
说到这里Worker的概念大家可以有一个模糊的框架了——Cloudflare Workers 是一种边缘计算技术,使开发者能够在 Cloudflare 的全球网络上运行 JavaScript 代码。与传统的服务器托管不同,Cloudflare Workers 允许在离用户最近的地点执行代码,从而提高响应速度和性能。
我们说的“加个壳”,实际上在网络中属于一种边缘计算,利用Woker可以将数据处理和计算资源分布在网络的边缘节点,而不是集中在家里的NAS或者数据中心的的VPS中。
由于加了一个中间的处理层,我们就可以在源数据和服务之间再做一层判定来提高安全性。同时大部分Worker本身是不固定IP地址的,对于Web API的访问也可以避免因为访问过于频繁封IP的问题。
要实现这个功能,这样做:
前提条件:
1.你有一个cloudflare账户可以建立Worker
2.你有需要访问的WEB API地址。
非充要条件:稍微会一点js脚本知识。
做法:
进入cloudflare控制台,到Worker设置中建立一个新的Worker
![NAS、VPS注意!你需要做一层隔离才安全](https://qnam.smzdm.com/202405/18/66484760e50c8994.png_e1080.jpg)
给Worker命名:
![NAS、VPS注意!你需要做一层隔离才安全](https://qnam.smzdm.com/202405/18/66484760bebac994.png_e1080.jpg)
这个名字就是一个好记的,你可以快速识别出来的标记名称,访问Worker的时候也是通过这个名字做标识的。
同时在代码预览中cloudflare会生成一个简单的hello world脚本,让我们部署好的Worker至少可以返回一些信息。
在这个界面没有必要做任何其他修改,直接点击部署按钮我们就可以部署出一个Worker脚本。
![NAS、VPS注意!你需要做一层隔离才安全](https://qnam.smzdm.com/202405/18/66484760931a9994.png_e1080.jpg)
在首次部署成功后,我们就可以利用编辑代码的按钮对刚刚建立的Worker进行代码编辑
![NAS、VPS注意!你需要做一层隔离才安全](https://am.zdmimg.com/202405/18/66484760eca23994.png_e1080.jpg)
进入代码编辑器中,cloudflare提供了一个简单的代码编写环境,分三个部分
1:代码编写
2.请求发送
3.结果
例如iN今天做的视频采集的Worker,只有几行代码:
![NAS、VPS注意!你需要做一层隔离才安全](https://qnam.smzdm.com/202405/18/6648476008e2e994.png_e1080.jpg)
原理很简单,将请求到这个Worker上的URL参数读取出来,然后替换给targetUrl,再经过fetch(targetUrl)的方法取得原始的WEB API应该返回的信息。这时候,就能拿到原始Web API的回复,再将回复原封不动的传递给我们自己的服务器或者NAS就可以了。
![NAS、VPS注意!你需要做一层隔离才安全](https://am.zdmimg.com/202405/18/664847608a146994.png_e1080.jpg)
将原始API所需要的参数重网址部分,替换为我们自己的的Worker的地址,保留原始参数不变,就可以工作起来了。
原始API URL的形式: AAAAA/参数
Worker的主机:CCCCC
改变后的形式:CCCCC/参数
就这么简单。
说好处:
首先是隐蔽了我们自己主机的地址,毕竟目前提供API的很多组织或个人还是不太可信的,没必要让对方知道我们自己的IP
其次,速度快,由于Worker是建立在CDN网络中的,在全球各个位置都有自己的镜像,因此对于Worker到目标的网络距离要远小于我们自己的主机到目标的距离。这就保证的访问速度。
再次,目标API的内容是可以审计的。在到达我们自己系统之前我们可以利用程序审计一下返回内容,然后再加入自己的系统。这样的安全性可以提高一下。
最后说下费用:10万次/日免费,对于一般家用和个人使用很难在一天内发出10万次的访问量。目前使用了半年多的Worker还没有因为这个功能付过费呢!
![](https://res.smzdm.com/pc/pc_shequ/dist/img/the-end.png)
言无尽
校验提示文案
PaladinF
校验提示文案
偏北就是我
校验提示文案
帅气小林走天下
校验提示文案
zhuzhuywb
校验提示文案
啦啦我最那啥
校验提示文案
值友3727352709
校验提示文案
虾仔7211
校验提示文案
叫我把把
校验提示文案
弹奏喻文雯
校验提示文案
迪拉克之海
校验提示文案
剁手党支部委员
校验提示文案
快乐光速
校验提示文案
快乐光速
校验提示文案
剁手党支部委员
校验提示文案
帅气小林走天下
校验提示文案
迪拉克之海
校验提示文案
弹奏喻文雯
校验提示文案
叫我把把
校验提示文案
偏北就是我
校验提示文案
啦啦我最那啥
校验提示文案
虾仔7211
校验提示文案
值友3727352709
校验提示文案
PaladinF
校验提示文案
zhuzhuywb
校验提示文案
言无尽
校验提示文案