零成本网页防篡改实施方案
一、网站架构图及方案说明
如上图所示,该方案基于sersync、rsync、
haproxy、subversion等技术构建实现动静分离、前
端页面防篡改以及动态负载均衡的网站平台部署方
案。该方案可预见有如下优点:
1、 实现多点实时更新同步发布,前端负载均衡,
支持数万并发访问。
2、 零成本投入实现网页防篡改。
3、 数据多点备份,从根本上解决单点故障,
二、关键技术介绍
1、Rsync数据同步:rsync是类unix系统下的数据镜像备份工具,从软
件的命名上就可以看出来了——remote sync。它的特性如下:
(1)、可以镜像保存整个目录树和文件系统。
(2)、可以很容易做到保持原来文件的权限、时间、软硬链接等等。
(3)、无须特殊权限即可安装。
(4)、优化的流程,文件传输效率高。
(5)、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket
连接。
(6)、支持匿名传输。
2、sersync主要用于监控服务器目录和文件,当发生变化,即触发rsync
实时数据同步到发布其他服务器。
3、HAProxy
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟
主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载
特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在
当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可
以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴
露到网络上。
下图是HAProxy的架构:
下图是HAProxy的监控页面截图:
4、Subversion是一个自由,开源的版本控制系统。在Subversion管理下,文
件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库
很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情
况。这样就可以籍此将数据回复到以前的版本,并可以查看数据的更改细节。正
因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
三、模拟环境测试方案
1、 测试环境
服务器5台,分别标识分A,B,C,D,E;其各自所需要配置
如上图所示。其基本流程如下:
1)、编辑通过浏览器访问服务器A在网站后台发布稿件,服
务器A的Rsync+Sersync程序,将更新稿件实时同步到发布
点C和D
2)、程序员在本地开发好的程序通过
subversion更新有
服务器A的网站目录中。
3)、访问者通过域名指向到服务器A,而服务器A通
过haproxy把来访者均衡分配给发布点C和D。
(注:可编辑下载,若有不当之处,请指正,谢谢!)