免费注册 查看新帖 |

Chinaunix

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

[proxy] squid中文件分发服务器的配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-02 19:55 |只看该作者 |倒序浏览
20可用积分
针对大文件(如游戏的客户端)我希望直接主动的将它更新到squid的缓存中,而不用等普通用户点击时才开始进行缓存的下载,这个时候就会用到文件分发服务器,预先把要下载的大文件主动的更新到squid缓存中,如果是小文件我可以用类似./squidclient -r "www.google.cn"这样的方式进行主动更新,但如果是1G的文件,这样也可行吗?还是说有别的方法?

给个思路就可以了。。。。

最佳答案

查看完整内容

不要局限在一定要用squid来下载,让重写下载URL就OK了让某个游戏下载的链接重定向到你的下载服务器上去不就OK了吗?其实就是网址替换。例:GET http://aaa.bbb.com/a.rar把这个URL替换成你自己内网的下载服务器上去GET http://192.168.0.111/a.rar

论坛徽章:
0
2 [报告]
发表于 2008-12-02 19:55 |只看该作者

呵呵,简单,使用重定向器

不要局限在一定要用squid来下载,让重写下载URL就OK了

让某个游戏下载的链接重定向到你的下载服务器上去不就OK了吗?
其实就是网址替换。
例:
GET http://aaa.bbb.com/a.rar
把这个URL替换成
你自己内网的下载服务器上去
GET http://192.168.0.111/a.rar

论坛徽章:
0
3 [报告]
发表于 2008-12-03 02:45 |只看该作者
因为你的squid服务器一般架在linux系统上,告诉你一个苯点的办法,但你可以做成软件,自动执行

1,比如你的cache服务器是 192.168.1.2-12,一共10台,你用abcd.com的域名,你的根服务器是 192.168.1.200
2,你把cache服务器的/etc/hosts文件,做强制指向,让abcd.com 识别为192.168.1.2-12,就是让自己认自己,然后再

wget http://abcd.com/aaa.rar 这样,就是自己下载自己机器的东西,但是你的cache会去.200服务器拿数据,这样不就下载过来了

呵呵,做成软件是可行的,但是我想他们不是这么做。


不过刚看了你的说明,你搞个软件,每个cache上装一台,你发个命令,都自动主动去更新不也行?

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之上海
日期:2016-05-05 09:45:14
4 [报告]
发表于 2008-12-03 14:33 |只看该作者
2楼的想法不错,和和,不过这样的话,就会浪费硬盘空间去下载那1G的文件,也就是说下载之后,还要rm,还不如LZ自己的方法好,

LZ可以在其中一台装一下APACHE,把cachemgr.cgi引出来,然后
http://xx.x.x.x/cgi-bin/cachemgr.cgi

可以在上面执行,这样就方便说了,
squidclient -t 1 -h localhost -p 80 mgr:inf  (localhost换成你想要的IP就行)
可以安自己的要求执行squidclient


还有一种方法,就像清理缓存内容一下,写一个PHP的,点一下执行:
参考:http://blog.chinaunix.net/u/249/showart.php?id=1131562

[ 本帖最后由 badb0y 于 2008-12-3 15:04 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-12-05 09:08 |只看该作者
确实是局限了,3楼的做法可行,其实用squid我想了个办法,命令还是用./squidclient -r http://www.google.cn/1.exe
但是我可以做一个内部的dns让squid节点连接www.google.cn时用内部的dns解析成我的文件分发服务器的ip地址,这样就实现缓存的功能了。
但是我只是要提供下载的功能,确实没有必要一定要用squid。。。。是自己的思路卡死了

论坛徽章:
0
6 [报告]
发表于 2008-12-07 20:32 |只看该作者
还是要用到重向啊。
试想想,如果用内部域名,那么人家不是到那个下载地址,只是访问那个域名的话就会出问题了。
例:假如qq软件的下载地址为:http://www.qq.com/qqfile/qq/QQ2008stablehij/QQ2008IIBeta1.exe
那个使用了内部域名的话,客户端访问www.qq.com的页面就打不开了。更到不了那个链接。
而你的目标是http://www.qq.com/qqfile/qq/QQ2008stablehij/QQ2008IIBeta1.exe这个URL更改成你的内部下载http://192.168.2.1/qq2008IIBeta1.exe
或者更简单一点,只要是QQ2008IIBeta1.exe这个目标文件的都重定向到你的内部下载
http://192.168.2.1/QQ2008IIBeta1.exe
所以还是用你重定向比较符合实际环境。能让客户悄无声息的到你的下载服务器去下载。

acl Foo url_regex -i /qq2008iibeta1\.exe$
acl All src 0/0
redirector_access allow Foo
redirector_access deny all
然后其他就交给重向向器了。

曾经想到用
header_replace Location http://192.168.2.1/aaa.exe
比较郁闷的是无法用acl来控制这个行为。所以乌乎唉哉......

[ 本帖最后由 wxxszzz 于 2008-12-7 20:34 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP