==3.0的squid headeraccess已经改成了requestheaderaccess和replyheaderaccess==
如:在web服务器端,通过header HTTPXFORWARDEDFOR 可以知道代理服务器的服务器名以及端口,通过HTTP_VIA可以知道客户的内部ip,如下设置即可隐藏
request_header_access Via deny all
request_header_access X-Forwarded-For deny all
问题一:访问用友网站www.ufida.com.cn
代理服务器本身可以直接访问,但是通过代理服务器访问的时候提示“禁止访问403”
查看squid日志access.log发现如下:
1254277400.616 91 192.168.99.22 TCP_MISS/403 230 GET http://www.ufida.com.cn/ - DIRECT/125.35.5.132 text/html
1254277401.391 321 192.168.99.22 TCP_NEGATIVE_HIT/403 238 GET http://www.ufida.com.cn/ - NONE/- text/html
通过[root@PY-Proxy ~]# curl -I -x 192.168.99.100:80 www.ufida.com.cn
HTTP/1.0 403 Forbidden
Date: Thu, 01 Oct 2009 09:12:23 GMT
X-Powered-By: ASP.NET
Content-Length: 0
Content-Type: text/html
Server: Safe3 IIS Firewall
X-Cache: MISS from Panyu-proxy
X-Cache-Lookup: MISS from Panyu-proxy:80
Proxy-Connection: close
看到禁止了代理访问了。并提示403错误。
[root@PY-Proxy ~]# curl -I -x 192.168.99.100:80 www.ufida.com.cn看看变化:
HTTP/1.0 200 OK
Date: Thu, 01 Oct 2009 09:21:19 GMT
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Set-Cookie: ASP.NET_SessionId=fvfygz45pycaohqvavsn5hrg; path=/; HttpOnly
Cache-Control: private
Expires: Thu, 01 Oct 2009 09:21:19 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 53247
Proxy-Connection: close
如何解决呢?
从分析发现[root@PY-Proxy ~]# cat /usr/local/kingate/var/kingate.log0930_000004 |grep www.ufida.com.cn
Mon Sep 28 19:00:48|[HTTP]192.168.99.25:35510 net get http://www.ufida.com.cn/ 1 1
Mon Sep 28 19:00:50|[HTTP]192.168.99.25:35514 stop-cache get http://dt.tongji.linezing.com/tongji.do?unit_id=957528&uv_id=22250382992952176891&uv_new=0&cna=&cg=&mid=&mmland=&ade=&adtm=&sttm=&cpa=&ss_id=185032026&ss_no=1&ec=1&ref=&url=http://www.ufida.com.cn/&title=%u7528%u53CB%u8F6F%u4EF6%u2014%u2014%u7528%u53CB%u4F01%u4E1A%u7BA1%u7406%u8F6F%u4EF6 %u4E2D%u56FD%u4F01%u4E1A%u8F6C%u578B%u5347%u7EA7%u52A0%u901F%u5668&charset=undefined&domain=ufida.com.
这个是从kingate代理访问的时候发现的日志内通,其中有个重要的提示是“stop-cache”这个关键字。
进一步判断是用友网站为了防止cache攻击,禁止cache的方式。而squid刚好cache方式。
这个就好处理了。修改数据包的头信息,将一些用友不允许的标志都deny掉。
header_access Via deny all
header_access X-Forwarded-For deny all
header_access Server deny all
header_access X-Cache deny all
header_access X-Cache-Lookup deny all
就可以了。
在磁卡看squid的日志:
1254388783.789 4255 192.168.99.25 TCP_MISS/200 60945 GET http://www.ufida.com.cn/images/zhm_img/lb1.jpg - DIRECT/125.35.5.132 image/jpeg
1254388784.303 209 192.168.99.25 TCP_HIT/200 8404 GET http://www.ufida.com.cn/ufidaoff.gif - NONE/- image/gif
1254388880.298 101 192.168.99.100 TCP_MISS/200 334 HEAD http://www.ufida.com.cn - DIRECT/125.35.5.132 text/html
出现:tcp_miss/200就证明已经ok了。
问题二、访问广州地税网www.gzds.gov.cn不能访问,直接出去可以,kingate代理也可以
现象1:通过squid代理无法打开,通过linux下firefox2.0版本访问,无任何提示,通过ie浏览器,第一次打开是个空页面,刷新出现无法访问的页面。windows下的firefox3.5访问时,提示“内容编码错误
无法显示您尝试查看的页面,因为它使用了无效或者不支持的压缩格式。
* 请联系网站的所有者以告知此问题。”
现象2:查看squid的access。log日志无任何不正常现象。查看kingate日志也是很正常的访问日志。
curl -I -x 192.168.99.100:80 www.gzds.gov.cn
[root@PY-Proxy ~]# curl -I -x 192.168.99.100:80 www.gzds.gov.cn
HTTP/1.0 200 OK
Date: Wed, 27 Jan 2010 06:54:53 GMT
Last-Modified: Tue, 26 Jan 2010 10:40:07 GMT
ETag: "2100014-2dec7-47e0ee8c96fc0"
Accept-Ranges: bytes
Vary: Accept-Encoding,User-Agent
Content-Type: text/html
Content-Length: 188103
Proxy-Connection: close
注意到有Vary: Accept-Encoding,User-Agent,这里给解决问题提示了答案。
解决办法:
vi /usr/local/squid/etc/squid.conf
将header_access Accept-Encoding allow all (默认)修改为header_access Accept-Encoding deny all
就可以了。
问题三:代理无法打开job168.com
现象1:
[root@proxy-server ~]# curl -I -x 10.168.193.250:808 www.job168.com
HTTP/1.0 403 Forbidden
Server: squid/2.5.STABLE14
Mime-Version: 1.0
Date: Thu, 19 Aug 2010 01:28:25 GMT
Content-Type: text/html
Content-Length: 1069
Expires: Thu, 19 Aug 2010 01:28:25 GMT
X-Squid-Error: ERR_ACCESS_DENIED 0
X-Cache: MISS from proxy-server
Proxy-Connection: close
现象2:通过firefox访问
内容编码错误
无法显示您尝试查看的页面,因为它使用了无效或者不支持的压缩格式。
* 请联系网站的所有者以告知此问题。
解决办法:vi /usr/local/squid/etc/squid.conf
将header_access Accept-Encoding allow all (默认)修改为header_access Accept-Encoding deny all
就可以了。
[root@proxy-server ~]# curl -I -x 10.168.193.250:808 www.job168.com
HTTP/1.0 403 Forbidden
Mime-Version: 1.0
Date: Thu, 19 Aug 2010 01:42:55 GMT
Content-Type: text/html
Content-Length: 1069
Expires: Thu, 19 Aug 2010 01:42:55 GMT
X-Squid-Error: ERR_ACCESS_DENIED 0
Proxy-Connection: close