解决Squid代理HTTP时在浏览器出现Content Encoding Error问题

作者:Sender  来源:WaveCN.com  发布日期:2009-09-25  最后修改日期:2009-09-25

最近新装了一台DELL R710作为网关服务器,跑CentOS 5.2,双ADSL+光纤3线上网,iptables+squid作透明代理,用起来很爽,但就是某些网站总是会显示Content Encoding Error(用的是FireFox,如果用IE则显示“不支持的编码方式”),百思不得其解。

上网搜了很久,终于搜到几篇相关的文章讲这个事情,参见:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=501192

http://squidproxy.wordpress.com/2008/04/29/chunked-decoding/

问题的实质按该文章的说法其实是网站HTTP服务器的错,而不是squid的问题。因为squid目前只支持http 1.0,并且在和网站HTTP服务器握手时也会声明这一点,但某些服务器就是不理会而硬性向squid发送只有在http 1.1中定义的http 头:chunked。因此squid 无法处理而只能给出出错信息给浏览器。

解决办法只是临时的,据开发者称,squid  3.1将会支持http 1.1,届时此问题将不复存在,但目前,只能通过如下方法去避免这个问题:

修改squid.conf,添加:

          acl broken dstdomain 这里给出出问题的网站的名称,比如:.it168.com
          header_access Accept-Encoding deny broken

保存后重新载入配置文件:

          service squid reload

这个临时解决方案的最大问题是要维护这个网站列表。目前我发现用nginx做http 服务器的发生这个问题的几率比较高。

 

本栏目相关
  •  2010-11-04 解决MySQL Cluster 备份总是失败,提示文件已存在的问题
  •  2010-03-15 MegaCli安装及使用杂记
  •  2010-09-24 解决WSUS显示客户端不全的问题
  •  2010-01-25 Linux 下的分区调整工具GParted实战
  •  2009-11-11 解决很好用的多合一即时通信软件pidgin的崩溃问题
  •  2009-09-25 解决Squid代理HTTP时在浏览器出现Content Encoding Error问题
  •  2009-07-22 用Delphi编写使用到ADO的DLL的一些问题
  •  2009-11-06 索尼系列手提电脑备份失败,出现700错误的解决办法
  •  2009-04-04 Dell R900服务器 BMC firmware incompatible with CPU 错误修正方法
  • 微信订阅号二维码

    本页网址二维码:

    本栏目热门内容
  • Acrobat虚拟PDF打印机执行打印时挂起,解决办法竟然...
  • LINKSYS交换机登录WEB界面显示不正确的解决方法
  • 又一次RAID 5阵列故障记录
  • 解决VMware vSphere ESXi 5.0 Update 1 中虚机不能...
  • 修改CentOS发行信息以绕过Dell服务器BIOS更新和DSET...
  • 解决虚拟化运行的 Windows Server 2003 标准版出现...
  • Windows Server 2008 重命名域和域控制器
  • Intel Nehalem CPU Errata 导致 VMWare ESXi(vSpher...
  • 一次很精神的电脑组装过程记录(但不是自己的电脑)...
  • 解决MySQL Cluster 备份总是失败,提示文件已存在的...
  • MegaCli安装及使用杂记
  • 解决WSUS显示客户端不全的问题
  • 解决 VMWare vSphere 6 客户端无法修改用户密码
  • 解决Windows Server 2008 R2域控制器显示无法连接到...
  • 本站服务器RAID 5阵列双硬盘失效挽救记录
  • 网站数据库从MySQL 5.0升级到5.6的记录
  • 解决MariaDB使用Percona XtraBackup增量备份出错
  • DELL PowerEdge 820 报CPU3 INTERNAL ERROR 的解决...
  • Linux 下的分区调整工具GParted实战
  • 修改arpwatch使通知邮件主题显示IP地址
  • 程序员漫画:如何用8种不同的编程语言去解救公主
  • 解决很好用的多合一即时通信软件pidgin的崩溃问题
  • 解决Samba WINS服务的错误解释问题
  • 使用 GParted 进行虚拟机硬盘分区调整操作
  • 解决Squid代理HTTP时在浏览器出现Content Encoding ...
  • 用Delphi编写使用到ADO的DLL的一些问题
  • 网站简单改版
  • 索尼系列手提电脑备份失败,出现700错误的解决办法
  • Dell R900服务器 BMC firmware incompatible with C...
  • 更多...