WEB服务器安全风险有多重要不需要多说,很多人喜欢NAS直接开放对外链接,更是一件充满风险的行为。同时呢,就算你自己宽带有公网IP,可以自由设置端口,但某些端口会有些不可描述的问题甚至运营商会干预,这就不好了,得规避。
这不,正有需求,有人就递来了枕头。
我们是可以利用cloudflare的Worker来处理的。方法就是简单的给我们的URL请求加个壳。
说下原理:
大部分基于各种URL的API通常都并不会很在意源请求地址是什么,但是往往很频繁请求的源往往会被block掉。这就导致我们在通过web客户端去调用的时候出现错误。
同样,大多数基于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
给Worker命名:
这个名字就是一个好记的,你可以快速识别出来的标记名称,访问Worker的时候也是通过这个名字做标识的。
同时在代码预览中cloudflare会生成一个简单的hello world脚本,让我们部署好的Worker至少可以返回一些信息。
在这个界面没有必要做任何其他修改,直接点击部署按钮我们就可以部署出一个Worker脚本。
在首次部署成功后,我们就可以利用编辑代码的按钮对刚刚建立的Worker进行代码编辑
进入代码编辑器中,cloudflare提供了一个简单的代码编写环境,分三个部分
1:代码编写
2.请求发送
3.结果
例如这个视频采集的Worker,只有几行代码:
原理很简单,将请求到这个Worker上的URL参数读取出来,然后替换给targetUrl,再经过fetch(targetUrl)的方法取得原始的WEB API应该返回的信息。这时候,就能拿到原始Web API的回复,再将回复原封不动的传递给我们自己的服务器或者NAS就可以了。
将原始API所需要的参数重网址部分,替换为我们自己的的Worker的地址,保留原始参数不变,就可以工作起来了。
原始API URL的形式: AAAAA/参数
Worker的主机:CCCCC
改变后的形式:CCCCC/参数
就这么简单。
说好处:
首先是隐蔽了我们自己主机的地址,毕竟目前提供API的很多组织或个人还是不太可信的,没必要让对方知道我们自己的IP
其次,速度快,由于Worker是建立在CDN网络中的,在全球各个位置都有自己的镜像,因此对于Worker到目标的网络距离要远小于我们自己的主机到目标的距离。这就保证的访问速度。
再次,目标API的内容是可以审计的。在到达我们自己系统之前我们可以利用程序审计一下返回内容,然后再加入自己的系统。这样的安全性可以提高一下。
最后说下费用:10万次/日免费,对于一般家用和个人使用很难在一天内发出10万次的访问量。目前使用了半年多的Worker还没有因为这个功能付过费呢!
本文转自头条号iN在
请登录后查看回复内容