题记:
在利用开源软件Squid创建公司的Proxy 服务器(也作过滤应用层数据)时,遇到一个非常棘手的问题:当用户打开的是未经授权的页面时,Squid会返回一个错误的页面给Client,仔细观察这 个页面的底部信息,会发现其显示的时间是GMT时间,而且会显示相关的Squid信息,对服务器安全是一个威胁。
先show一下原始错误信息页面
让我们来解决这个问题
1)下载相应Squid版本的源码文件
- # cd /usr/ports/www/squid30
- # make fetch
2)将下载的文件移到另外一个目录操作
- # mv /usr/ports/distfiles/squid3.0/squid-3.0STABLE14.tar.bz2 /home/henry
3)对其进行解压操作
- # cd /home/henry
- # tar xf squid-3.0STABLE14.tar.bz2
4)编辑源码目录下文件errorpage.cc文件(网上大侠们都说是errorpage.c文件,我愣是没找着)
注:%T一定要改成%t
5)修改好后,重新打包并移到ports下载目录
- # tar jcvf squid-3.0STABLE14.tar.bz2 squid-3.0STABLE14/
- # mv squid-3.0STABLE14.tar.bz2 /usr/ports/distfiles/squid3.0
6)重新安装修改后的源码文件
- # cd /usr/ports/www/squid30
- # make NO_CHECKSUM=yes install distclean
注:此过程很重要,一定要加上参数NO_CHECKSUM=yes,否则BSD会校验MD5码,发现不对,会立即从你所指定的网站重新下载Squid源码,这样就会前功尽弃。
7)安装完毕,启动Squid服务,在做这项操作之前,先执行以下命令检查Squid语法是否存在错误(无回显即表明语法正确)
- # squid -k parse
8)正式启动Squid服务
- # /usr/local/etc/rc.d/squid start
9)确认修改后的效果
OK,大功告成,问题解决!