1,设定域名的办法
思路:定义好自己的域名,只有自己的域名能被squid代理,自己域名以外的任何域名都被deny
配置:

acl mydomain dstdomain a.b.c     #定义自己的域名
http_access allow mydomain       #只允许自己的域名被访问
http_access deny all             #阻止所有一切访问

然后重启squid,这样别人就无法使用你的squid作为代理了,但你的业务还是保持正常的


但以上办法,被阻止的人会看到你的squid的错误页面,如果你会改源码,可以做个新的错误页面,所以还有个更完美的办法来实现,就是使用deny_info这个参数,配置如下


acl mydomain dstdomain a.b.c    #定义自己的域名
http_access allow mydomain    #只允许自己的域名被访问
http_access deny all              #阻止所有一切访问

deny_info http://a.b.c all        #阻止所有访问的同时,把请求转到a.b.c主页

这样做最终结果就是无论外部的人用你的squid访问什么网站都会跳到你的首页,这招挺损的,哈哈


再说说另外的一个方法吧


2,不使用dns


多数人都喜欢在自己的服务器上配置dns,但往往squid后端的RS都是内网地址,解析都是通过hosts文件走的,或者内部的dns,这样如果你设置 了dns,就可能会被外面的人利用上网,所以我的做法是去掉dns,只使用hosts文件,同时在启动squid是使用-D参数,这个参数的意思就是不检 测本地dns



通过以上两个办法足以使你的squid不会被外人拿来使用