免费注册 查看新帖 |

Chinaunix

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

[proxy] squid把后端302重写成200响应 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-07 17:55 |只看该作者 |倒序浏览
假如有一个WebServer,请求URLA的时候,会返回一个302 ,Location为URLB,在squid上想要把URLB重写为URLC,并且让用户看到的是squid直接响应的URLC。

目前我只知道一个方式,调用squid的“url_rewrite_program”,在perl脚本中:
当用户请求URLA的时候,发起一个http请求去后端探测一下Location,并获得URLB,将URLB修改为URLC,然后再输出。

但是这样会有一个问题,即所有url不管后端有没有302,都会去探测一下,而在探测期间,用户只能等着,假如所有请求中只有10%的url会有302,那么这样的方式就太浪费时间了。


squid中还有一个功能叫“location_rewrite_program”,这个功能只有当后端返回302的时候才会触发调度重写程序,不过用这个功能重写之后,URLC仍然是通过302的方式返回给用户的。

有没有既能减少程序调用,又能把302重写为200响应的方法呢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP