免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4266 | 回复: 5
打印 上一主题 下一主题

[proxy] 求解答squid 2.5 的 1 个问题,谢谢。内详。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-04 09:57 |只看该作者 |倒序浏览
10可用积分
第二和第三我都解决了,就剩下第一个了。

cache.log 内容:
问题1
2007/07/03 21:57:08| parseHttpRequest: NF getsockopt(SO_ORIGINAL_DST) failed: (92) Protocol not available
2007/07/03 22:00:08| parseHttpRequest: NF getsockopt(SO_ORIGINAL_DST) failed: (92) Protocol not available
2007/07/03 22:02:59| parseHttpRequest: NF getsockopt(SO_ORIGINAL_DST) failed: (92) Protocol not available
问题2
2007/07/03 22:32:55| clientAccessCheck: proxy request denied in accel_only mode
2007/07/03 22:32:56| clientAccessCheck: proxy request denied in accel_only mode
2007/07/03 22:32:57| clientAccessCheck: proxy request denied in accel_only mode

问题3
2007/07/04 09:41:33| WARNING: Forwarding loop detected for:
Client: 10.0.0.11 http_port: 10.0.0.11:80
GET
http://10.0.0.11/ HTTP/1.0
Host: 10.0.0.11

Authorization: Negotiate YIIQegYGKwYBBQUCoIIQbjCCEGqhghBmI4IQYgOCBAEAQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ
中间省略若干行..............
ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE==
Via: 1.0 cdn-xxxxx-02.xxxxx.net:80 (squid/2.5.STABLE14)
X-Forwarded-For: 60.210.140.111
Cache-Control: max-age=259200
Connection: keep-alive



squid configure 参数为
--enable-gnuregex --enable-async-io=80 --enable-kill-parent-hack --disable-ident-lookups --enable-cahce-digests --enable-arp-acl --enable-err-language="Simplify_Chinese" --enable-default-err-languages="Simplify_Chinese"   --enable-poll --enable-linux-netfilter --enable-underscore


操作系统为 centos 4.3

求解问题1及问题3,问题2应该是我acl定义的问题,看access.log 是台湾的一个IP想通过我的squid做代理上网,被 deny了。
第一个问题我到 squid-cache.org 的 faq 看了,有提问这个的,但是没有回答,google.com 全球了一下,也是有这个问题,但是没有解答。

第二和第三我都解决了,就剩下第一个了。

求解答方式:问题原因,解决方式。

谢谢。

[ 本帖最后由 西门飞 于 2007-7-4 14:13 编辑 ]

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2007-07-04 09:57 |只看该作者

  1. 内核,很明显这是一个BUG,见:[url]http://patchwork.netfilter.org/netfilter-devel/patch.pl?id=2676[/url]
  2.   
  3.   那么怎么办呢?
  4.   
  5.   1、升级到2.6.13的内核,2.6.13已经合并了上面的那个patch。
  6.   
  7.   2、降级到低版本的内核,前提是有SO_ORIGINAL_DST选项,并测试是否正常
  8.   
  9.   3、手动分析/proc/net/ip_conntrack文件,个人分析过可行性,并认为这种方法是一种可行的补救措施,不过一直没有动手写_=_!
复制代码

论坛徽章:
0
3 [报告]
发表于 2007-07-04 13:24 |只看该作者
问题2的原因 :

httpd_accel_with_proxy off

加速模式下不开启代理功能。

论坛徽章:
0
4 [报告]
发表于 2007-07-04 13:32 |只看该作者
问题三:
Forwarding loop detected
想象一下,当单个请求遍历squid 2次时,就发生了转发循环,请求的 via 头部包含了所有遍历过的squid的列表,假如 squid 在 via 里发现了自己的 名字,它发布转发循环警告,并将请求直接发送到原始服务器。

转发循环:
转发循环是 squid 的堆叠的一个问题,当 squid 转发某个请求到某处,但该请求又被转发回 squid,这就产生了 转发循环。
典型情况发生在2个squid相互把对方当作 父cache的情况,解决办法。
例如:邻 squid的 地址为  192.168.1.100
则修改 squid.conf
acl fromneighbor src 192.168.1.100
cache_peer_access the.neighbor.name deny 192.168.1.100

论坛徽章:
0
5 [报告]
发表于 2007-07-04 17:14 |只看该作者
完蛋了,问题一,我重装了系统,内核升级到了 2.6.18-8.

还是老毛病

2007/07/05 01:07:16| parseHttpRequest: NF getsockopt(SO_ORIGINAL_DST) failed: (92) Protocol not available
2007/07/05 01:08:18| parseHttpRequest: NF getsockopt(SO_ORIGINAL_DST) failed: (92) Protocol not available

论坛徽章:
0
6 [报告]
发表于 2007-07-05 14:39 |只看该作者

会不会和这个有关系啊 ?

--enable-poll :应启用Poll()函数而不是select()函数,通常而言poll(轮询)比select要好,但configure(脚本程序)已知Poll在某些平台下失效, 若你认为你比configure编译配置脚本程序要聪明的话,可以用这个选项启用Poll。总之就是用这个可以提升性能就是啦。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP