写了一个基于新浪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的网站宝啊,哈哈。
您可能也喜欢:
11 条评论
-
-
很赞同你的想法,最近我也在准备做这个东西,你之前做的bae的远程附件赞死了,不知道愿不愿意一起研究下这个东西?我想加你的QQ可是找不到,你要已经做完了大体框架的话,我就可以从你的起点开始继续加别的功能了,哈哈
-
那好吧,不过七牛能免费多久啊。
-
亲,能搬个忙吗,能不能把这个小程序http://www.longsays.com/20121013/saelayercdn-sae-homemade-domestic-cdn-to-accelerate-page-loading-speed.html移植到bae呢,这样的话就能实现把七牛的镜像回源功能搬到bae上了,这个程序比较简单,应该可以搬上去吧,我bae上还有1000优惠卷和100G容量没用呢!!!求帮忙!!看我的 光波!!
过来看看了,挺好的。对了, 衡公备是什么鬼?