题记:

在利用开源软件Squid创建公司的Proxy 服务器(也作过滤应用层数据)时,遇到一个非常棘手的问题:当用户打开的是未经授权的页面时,Squid会返回一个错误的页面给Client,仔细观察这 个页面的底部信息,会发现其显示的时间是GMT时间,而且会显示相关的Squid信息,对服务器安全是一个威胁。

先show一下原始错误信息页面

squid 出错页面GMT时间修改(FreeBSD)_squid

让我们来解决这个问题

1)下载相应Squid版本的源码文件

  1. # cd /usr/ports/www/squid30 
  2. # make fetch  

2)将下载的文件移到另外一个目录操作

  1. # mv /usr/ports/distfiles/squid3.0/squid-3.0STABLE14.tar.bz2 /home/henry 

3)对其进行解压操作

  1. # cd /home/henry 
  2. # tar xf  squid-3.0STABLE14.tar.bz2

4)编辑源码目录下文件errorpage.cc文件(网上大侠们都说是errorpage.c文件,我愣是没找着)

squid 出错页面GMT时间修改(FreeBSD)_squid_02

将它修改成下图示squid 出错页面GMT时间修改(FreeBSD)_ freebsd_03

注:%T一定要改成%t

5)修改好后,重新打包并移到ports下载目录 
 
  1. # tar jcvf  squid-3.0STABLE14.tar.bz2 squid-3.0STABLE14/
  2. # mv squid-3.0STABLE14.tar.bz2 /usr/ports/distfiles/squid3.0

6)重新安装修改后的源码文件

  1. # cd /usr/ports/www/squid30 
  2. # make NO_CHECKSUM=yes install distclean 
注:此过程很重要,一定要加上参数NO_CHECKSUM=yes,否则BSD会校验MD5码,发现不对,会立即从你所指定的网站重新下载Squid源码,这样就会前功尽弃。

7)安装完毕,启动Squid服务,在做这项操作之前,先执行以下命令检查Squid语法是否存在错误(无回显即表明语法正确)

  1. # squid -k parse 

8)正式启动Squid服务

  1. # /usr/local/etc/rc.d/squid start 

9)确认修改后的效果

squid 出错页面GMT时间修改(FreeBSD)_职场_04

OK,大功告成,问题解决!