写了一个基于新浪SAE的CDN反向代理+软防火墙小程序

2012-05-24

众所周知,新浪SAE(Sina App Engine)的线路情况绝对是国内最厉害的,无论是中国电信、中国联通,还是移动或者教育网,其速度甚至不是国内的一些低级的CDN所能比拟的;即使是新浪SAE自己的CDN系统(通过lib.sinaapp.com可以发现),线路也不及SAE。

新浪SAE的硬伤就是PHP程序需要进行移植才能使用,所以一定程度上也限制了其的发展。虽然随着新浪SAE的不断发展这种状况有所缓解,但是还是不能从根本上有所改变。

看到新浪SAE如此优越的线路,我昨天心血来潮,写了一个基于新浪SAE的CDN反向代理程序。程序的原理很简单,当客户访问SAE资源的时候,根据客户请求资源的URL和相应的缓存规则进行匹配;然后根据匹配的规则,如果SAE上有缓存并且尚未过期,则直接发出缓存内容进行相应;否则SAE从源服务器抓取数据并缓存。

我的缓存是用MC来完成的。按理来说,KVDB作为持久化存储,而且存储容量较MC大很多,选择它是自然而然的事情了。但是因为我的WWW站点存储的是一些HTML文件,占不了多大的空间,所以用内存级的MC问题也不大。再说了,从速度来说,MC较KVDB要快。

如果你对我的这个小程序有兴趣的话,你可以修改本地的HOSTS文件,将mawenjian.net的IP地址指向SAE的任意一个IP地址,比如115.182.15.250,你是不是发现速度有所提升了呢?

内存级的缓存,再加上国内顶尖的线路,绝对是极客杀人放火、居家旅行的必备杀器!嘎嘎!

今天一觉醒来,我突然觉得仅仅CDN加速还不够,要是能够再加上一个防火墙功能就更好了。于是放狗搜索,结果还真找到了一个开源的PHP软防火墙,叫做“PHP FIREWALL“,至于效果怎们样,我就不知道了。不管三七二十一了,先添上这个功能再说。

做一个简单的测试:输入一个含有SQL注入的URL:

https://mawenjian.net/index.php?’;%20DROP%20TABLE%20[table%20name];

回车,结果还真可以拦截,有那么点意思。直接上截图:

我怎么感觉越来越像创新工场的安全宝和360的网站宝啊,哈哈。


除非特殊说明,本博客文章均为原创,转载请以链接形式标明博文地址。

本文链接地址: 写了一个基于新浪SAE的CDN反向代理+软防火墙小程序

分类:互联网 | 标签: |