首页 > 分享 > ?��?��ATSc?�a�?a??c??e��e?�e�?c?�

?��?��ATSc?�a�?a??c??e��e?�e�?c?�

2013年5月8日     浏览数:848 发表评论 阅读评论

??�?��?��e?�cZ?a??a??centos6.

atsc?�a�?a??c??e��e?�e?�e�?a�YaS�cacheurle?�a????�a��i??a??a�?a?�e�?e�?a�?cs�a?�e?�i?shttp://people.apache.org/~zym/trafficserver/cacheurl.html

????�?e??

????�?atse�?c?�a?Se?�e??i??a?�a�?a��e?�e�s??�?????�?��aS�a?�e?�e??a��

traffic_line -s proxy.config.http.cache.required_headers -v 0

traffic_line -x

a?�a�?a?�e??c?�e?�a��e?�cacheurl

1.a�Zgita?�eZ�a?�cacheurl??�a��

cacheurl??�a��a???��c�?cs�atsa?�??�i??a��e�se?�git clonea?�e??cs�atse�?e??a��??�e?�a??pluginsi?s

git clone https://git-wip-us.apache.org/repos/asf/trafficserver.git

??�a��???c�?c��a?�i?strafficserver/plugins/experimental/cacheurla��
2.a?�c��a?�e??a��e?�

a?�e??a?�a?�i?shttps://blog.zymlinux.net/softs/cacheurl.tar.gz

a��?z?a?Se??cs�a��e?�e????�e��e??i??e�?a��a?�e??e?�a??e?�e?�i?shttp://pan.baidu.com/share/link?shareid=380294&uk=1006710124

c?�e?�a��e?�?�?a??i?s
e��a�?e?�a�???�a��c��a?�i??a??c�?atse�?a?�cs�a�?a��c?�e?�a��e?�i?s

tsxs -c cacheurl.c -o cacheurl.so
tsxs -i -o cacheurl.so

e�?e��a��a?sa��e?�a?�/usr/local/libexec/trafficserver/c��a?�a?�a��

a??a�?e�?c?�cacheurl

i??a?�e??e�?c?�e�?a?�a??e�?e��a��e?�??�a��i?�

1.e�?c?�atsaS�e??cacheurl??�a��i?s

echo "cacheurl.so" >>/usr/local/etc/trafficserver/plugin.config

2.e�?c?�cacheurle��a?�

a�?a?�a?�e??e?�a?�a�?c�??��e??a?�a?�a??a??a��

cat > /usr/local/libexec/trafficserver/cacheurl.config<< "EOF"
http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}[^&]*/f4v/.*id=tudou.itemid\=([0-9]*).* http://www.tudou.com/$1
http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}[^&]*/flv/.*id=tudou.itemid\=([0-9]*).* http://www.tudou.com/$1
http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/youku/.*/(.*-.*-.*-.*-[^?]*)(.*) http://www.youku.com/$1
http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/sohu/[0-9]*/[0-9]*/[0-9]*/(.*).mp4?key=.* http://tv.sohu.com/$1.mp4
http://.*\..*\..*\..*/.*\.com/flvdownload/[[:digit:]]{1,3}/[[:digit:]]{1,3}/([^?]*)(.*) http://www.56.com/$1
http://[[:digit:]]{1,3}/mp4files/.*/.*\.com/images/tuiguang/[[:digit:]]{6,6}/(.*\.mp4) http://www.56.com/$1
http://.*\..*\.com/images/tuiguang/([[:digit:]]{6,6})/(.*\.mp4) http://www.56.com/tuiguang/$1/$2
http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/mov.bn.netease.com/.*/.*/.*/.*/.*/([^?]*)(.*) http://v.163.com/$1
http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/.*-.*-.*/.*/cemov.bn.netease.com/.*/.*/.*/.*/.*/([^?]*)(.*) http://v.163.com/$1
EOF

a?�a�?e�?a??ats???aS?i?strafficserver restart
a��a�?e??e??
1.?�?a?�a?�?z?
????�?????�?i?scZ�a???��c�???�a�?c�??????�logc�Y???a?�i??i??i???��c�???�e?�e�?e??e??e??aSYe??a��—2014-11-06
c??c��a?�a?�e�Ya��a??a�??Y?c?�?��c�Y???cs�?�?a?�i?stailA�/usr/local/var/log/trafficserver/cacheurl.logA�A�a?sc?�a?�e�?c?�cs�e��a?�aS�e??i?s

20130508.16h23m48s Adding pattern/replacement pair: 'http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}[^&]*/f4v/.*id=tudou.itemid\=([0-9]*).*' -> 'http://www.tudou.com/$1'
20130508.16h23m48s Adding pattern/replacement pair: 'http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}[^&]*/flv/.*id=tudou.itemid\=([0-9]*).*' -> 'http://www.tudou.com/$1'
20130508.16h23m48s Adding pattern/replacement pair: 'http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/youku/.*/(.*-.*-.*-.*-[^?]*)(.*)' -> 'http://www.youku.com/$1'
20130508.16h23m48s Adding pattern/replacement pair: 'http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/sohu/[0-9]*/[0-9]*/[0-9]*/(.*).mp4?key=.*' -> 'http://tv.sohu.com/$1.mp4'
20130508.16h23m48s Adding pattern/replacement pair: 'http://.*\..*\..*\..*/.*\.com/flvdownload/[[:digit:]]{1,3}/[[:digit:]]{1,3}/([^?]*)(.*)' -> 'http://www.56.com/$1'
20130508.16h23m48s Adding pattern/replacement pair: 'http://[[:digit:]]{1,3}/mp4files/.*/.*\.com/images/tuiguang/[[:digit:]]{6,6}/(.*\.mp4)' -> 'http://www.56.com/$1'
20130508.16h23m48s Adding pattern/replacement pair: 'http://.*\..*\.com/images/tuiguang/([[:digit:]]{6,6})/(.*\.mp4)' -> 'http://www.56.com/tuiguang/$1/$2'
20130508.16h23m48s Adding pattern/replacement pair: 'http://[^.]*\.[^.]*\.[^.]*\.[^/]*/videos2/[^/]*/[^/]*/([^?]*)(.*)' -> 'http://www.iqiyi.com/$1'
20130508.16h23m48s Adding pattern/replacement pair: 'http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/mov.bn.netease.com/.*/.*/.*/.*/.*/([^?]*)(.*)' -> 'http://v.163.com/$1'
20130508.16h23m48s Adding pattern/replacement pair: 'http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/.*-.*-.*/.*/cemov.bn.netease.com/.*/.*/.*/.*/.*/([^?]*)(.*)' -> 'http://v.163.com/$1'

c��a?Za?�??�e��e?�e��c?�cs�?��a��a�??Y?c?�e?�a???�?a?�cs�?��a��a?sa?�cZ�??�a?�e��e?�urla??e?�a?�a?�i?s

20130508.18h50m55s Rewriting cache URL for http://101.226.245.108/youku/65755D0A4F24483CEA1A71668F/030002070351685B233BEE04CB019FF9EDA1BF-0746-632C-C41D-BCEBFA57CABD.flv to http://www.youku.com/030002070351685B233BEE04CB019FF9EDA1BF-0746-632C-C41D-BCEBFA57CABD.flv

2.firebuga?�?z?

?��a?�firebug??�a��i??e�?c?�a??a�?c?�i??e��c?�a??e��e��e?�?��e?�i???Y?c?�via

PSi?sfirebug?�Za???�?e��e?�???c��i?Y?��??�c�???�a??a�?c�?a��a�?FLASHa�?e��e???Y?c?�i??e?z?��??�c�???�a??a�?c�?a��a�??��??�a�?i??c?�a�?a?�?��?��e�?a?Zc�?a��a��a�??Z�a??a?�a?�i??e��e?�?��a��a?�e?�??�e??a��a��

c��a?�?�?e?�?��a?�e��e?�?��a��viac�????cMsSfWi???�?a??a��a�?c?�a�?a��

111

??�c�??�?e�?a�?c?�a�?a�??�?e��c?�i??viaa��a?�cHs fi??a�?c�?c?�a�?a�?a?�a��

222

 

Viac�?e?�e�?a??c�?cs�i??a��?z????c�???�a��cs�a��e?�e�s??�a��e?�cs�a�?c�?e�?c?�a??a?�a��c��c��a��e?�cs�e?�e�??��e??i?s

traffic_line -s  proxy.config.http.insert_request_via_str -v 1
traffic_line -s  proxy.config.http.insert_response_via_str -v 2
traffic_line -x
e?�a??Viac�?cs�?��aS�a�?c�?a??a��c?�?��c��e?????a?�a?�a��

e�?c?�a�???�a��

  1. 七魔星呼吸
    2013年5月10日10:36 | #1

    沙发。。。哈哈

  2. fangod
    2013年5月12日14:49 | #2

    问下 能缓存文件 或者网页吗 怎么缓存 这个是透明代理吧 需要iptables吗 比方缓存360测速的文件之类的

  3. 纸鸢
    2013年5月12日15:38 | #3

    缓存文件、网页是缓存服务器最基本的功能了,ok的。透明代理,如果不是监听80端口,需要iptables把请求转发到ats监听的端口@fangod

  4. fangod
    2013年5月16日10:48 | #4

    @纸鸢
    怎么查看缓存的东西呢, 能指定吗 比方我想把360测速和QQ测速的东西缓存上 大概怎么设置呢 没接触过 英文不是太好 谢谢

  5. fangod
    2013年5月16日10:52 | #5

    @fangod
    像cf之类的常用游戏下载都可以缓存 可以大大的节省带宽 新手 学习中

  6. 纸鸢
    2013年5月16日14:44 | #6

    目前ats缓存内容查询那块功能比较弱,你可以通过http_ui查询,不过得知道具体的url才行,正则的查询经常因为缓存空间大查询超时。大家都是通过日志分析的~@fangod

  7. 纸鸢
    2013年5月16日14:45 | #7

    这个文件缓存是默认支持的,多看看blog、文档啥的就行了@fangod

  8. fangod
    2013年5月18日14:18 | #8

    一般需要多大的硬盘空间 1.5t可以吗 另外 这东西是消耗内存多些还是消耗cpu多些,正常使用环境8g内存能带200台电脑吗

  9. fangod
    2013年5月21日19:18 | #9

    [root@guo cacheurl]# tsxs -c cacheurl.c -o cacheurl.so
    compiling cacheurl.c -> cacheurl.lo
    cacheurl.c:28:24: 错误:ink_config.h:没有那个文件或目录
    cacheurl.c:38:22: 错误:ink_defs.h:没有那个文件或目录
    cacheurl.c:434: 错误:expected ‘;’, ‘,’ or ‘)’ before ‘ATS_UNUSED’
    cacheurl.c:457: 错误:expected ‘;’, ‘,’ or ‘)’ before ‘ATS_UNUSED’
    Compile failed: gcc -I/usr/local/include -g -pipe -Wall -Werror -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing -fpic -c cacheurl.c -o cacheurl.lo

    tsxs cacheurl.c的时候出现的 百度不到 求问

  10. fangod
    2013年5月21日21:20 | #10

    前面两个文件找到了,后面的错误我查找说是gcc编译c++文件引起的 现在的错误是

    compiling cacheurl.c -> cacheurl.lo
    In file included from cacheurl.c:38:
    /usr/local/include/ink_defs.h:93: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ts’
    cacheurl.c:434: 错误:expected ‘;’, ‘,’ or ‘)’ before ‘ATS_UNUSED’
    cacheurl.c:457: 错误:expected ‘;’, ‘,’ or ‘)’ before ‘ATS_UNUSED’
    Compile failed: gcc -I/usr/local/include -g -pipe -Wall -Werror -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing -fpic -c cacheurl.c -o cacheurl.lo

  11. 纸鸢
    2013年5月21日23:33 | #11

    从这里下载试试:http://pan.baidu.com/share/link?shareid=380294&uk=1006710124
    估计是版本对应的问题。@fangod

  12. fangod
    2013年5月22日10:46 | #12

    可以了 版本问题 你的版本哪里来的啊……我找不到 另外 现在的问题是 我用firefox浏览 设置代理 可以正常试用 好像youku快进后就卡在那里了 而56则没问题 我测试透明代理 用ros把我电脑的数据转到ats的80端口 结果网页可以正常打开 视频不能播放 连广告都没有…….

  13. fangod
    2013年5月22日10:47 | #13

    另外 不用代理后没办法看via了吗 firebug 看不到了就 关掉代理后

  14. fangod
    2013年5月22日10:57 | #14

    刚等了好长时间 可以看视频了…80端口转发数据 巨卡……..基本一看一顿 跟用firefox设置代理完全是两个效果 也不播广告…..

  15. fangod
    2013年5月22日11:07 | #15

    ros转发的情况下 设置firefox代理 正常了 查看via 缓存了 ros转发 看日志也重定位了 但是播放困难

  16. 纸鸢
    2013年5月22日14:19 | #16

    我那个版本是之前自己安装成功后收藏的。其他问题,我想想再回答@fangod

  17. fangod
    2013年5月22日17:10 | #17

    搞定 我把ros又加了一块网卡指定了个ip 直接连接ats 然后转发数据给ats就可以了 看记录有缓存 via不用设置代理也可以看 不过好多没有via信息的 有的有有的没有.继续查看千石翻译的admin文档

    ##############################################################################
    CONFIG proxy.config.cache.permit.pinning INT 0
    # default the ram cache size to AUTO_SIZE (-1) based on cache size
    # (approximately 1 MB of RAM cache per GB of disk cache)
    # alternatively, set to a fixed value such as 20971520 (20MB)
    CONFIG proxy.config.cache.ram_cache.size INT -1
    CONFIG proxy.config.cache.ram_cache_cutoff INT 4194304

    这里设置成-1和这个4194304 是自动调节的意思吗 看到有的说把这里加大 -1改成2048MB之类的 如果修改下面需要修改吗 这是不是最小和最大使用的内存啊

  18. fangod
    2013年5月22日17:13 | #18

    下面这个截至是什么意思呢 CONFIG proxy.config.cache.ram_cache_cutoff INT 4194304

  19. 海洋之心
    2013年5月22日21:03 | #19

    proxy.config.cache.ram_cache_cutoff 指定小于些值的尺寸存储在内存中

  20. 纸鸢
    2013年5月22日21:03 | #20

    -1是按照比例来的,1G硬盘缓存就1M内存缓存@fangod

  21. fangod
    2013年5月22日21:55 | #21

    @海洋之心
    也就是说 我把这个值设定在800mb 缓存的东西 比方一个文件 他小于800mb就缓存到内存里面 大于800mb就缓存到硬盘里面是吗

  22. fangod
    2013年5月22日21:58 | #22

    CONFIG proxy.config.cache.ram_cache.size INT 7340032000 我设置成7g内存没问题吧…..这么不会是1gb硬盘缓存7gb内存吧

  23. fangod
    2013年5月22日22:15 | #23

    对了 那个规则怎么写 有个大体的方法吗, 正则表达式吗 学习下 能大体写下怎么写规则吗 我想自己弄几个网站的规则

  24. 纸鸢
    2013年5月23日12:44 | #24

    加到我们社区的群吧。问了问题,弄懂之后要写blog分享给大家,我们才回答了。@fangod

  25. fangod
    2013年5月23日13:33 | #25

    群号 QQ群吗 如果是别的 告诉我群号和加的方法

  26. 纸鸢
    2013年5月23日13:50 | #26

    281057393@fangod

  27. 伊松
    2013年5月27日20:37 | #27

    @fangod
    能留一下你的QQ吗? 我也是做isp接入的,正在研究ats做正向代理,通过ros强制转换tcp 80的访问到ats
    你看你的进展已经非常大了,希望我们能共同学习ats

  28. 伊松
    2013年5月28日21:32 | #28

    28120417我的QQ,fangod 大哥,看到请加我

  29. beckjiang
    2013年8月22日23:49 | #29

    正向代理基本上搞定。但是遇到一个问题。现在网上很多在线视频网站都是使用FLASH的P2P工作。这导至根本无法缓存。小弟自己写了个DLL。HOOK特定浏览器。禁止使用FLASH P2P。不过在线视频的速度也就随之下降低。这是一个很杯具的事情!!一直都没有找到好的办法来处理这个问题!!如果ATS能代理RTMP。那就…………………………

  30. xinyun312
    2013年9月12日08:33 | #30

    @beckjiang
    rtmp是个流协议,不支持缓存

  31. ats-newer
    2013年10月16日15:19 | #31

    对大的很大的视频文件mp4格式的缓存要做特别的设置么?因为我遇到的是小视频确实是可能缓存的,但是一个160M左右就没有缓存进去。

  32. 纸鸢
    2013年10月17日07:28 | #32

    可能你需要配置一下合适的最大文件size,然后配置下适合的平均文件大小@ats-newer

  33. houzhuo-nanhai
    2014年3月10日18:45 | #33

    你好,为什么我装插件的时候没有知道这个日志文件cacheurl.log。试了还几次了,都是没有这个文件。另外,这句echo “cacheurl.so” >>/usr/local/etc/trafficserver/plugin.config,里面的cacheurl.so这个文件需要用到绝对路径吗,我用绝对路径试了也还是没出现日志文件。

  34. ats-gz
    2014年5月21日13:37 | #34

    如果是视频,流化这块没处理,目前有.so文件可用吗

  35. mohaja
    2014年10月27日21:42 | #35

    我读你的网站使用谷歌翻译。有趣的交代。想问一下,我们是否可以缓存的YouTube?你有正则表达式呢?

    谢谢。

    P / S:我用谷歌翻译来问这个问题。对不起,如果不准确的。

  36. 纸鸢
    2014年10月27日22:08 | #36

    @mohaja
    翻译得很好,能理解你的意思。如果你可以使用firebug或者谷歌浏览器的F12调试工具找到YTB的视频URL,然后贴在这里,我们可以帮你写成正则表达式。

  37. 纸鸢
    2014年10月27日22:10 | #37

    @mohaja
    但是cacheurl.so这个插件并不能解决所有类型的视频规则,例如有视频文件动态分片的情况等等。

  38. 纸鸢
    2014年10月27日22:12 | #38

    @mohaja
    我们这里的网络环境导致访问YTB失败,因为有一个牛逼的GFW,呵呵

  39. Cong
    2015年2月15日16:47 | #39

    @纸鸢
    同问怎么可以用ATS来实现YTB的缓存。
    您所说的youtubeURL是指怎样的URL?
    是类似这种URL吗?

    watch?v=6n-ANRWqll8

    还是具体要看哪一部分呢?
    谢谢

    • 纸鸢
      2015年3月25日19:01 | #40

      firebug抓包,看真实的flv或者mp4的地址。

  40. 匿名
    2015年5月25日15:53 | #41

    hi,请问下ATS的这个缓存功能是不是可以作为cdn流媒体的缓存加速呢?

  41. 舒克
    2015年5月25日15:54 | #42

    hi,请问ATS的这个缓存功能是不是可以用来作为cdn的流媒体加速呢?

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
advertisement blocker for chrome software development company description software development company in ahmedabad software development company in austria software development company in bangalore software development company in baroda software development company in canada software development company in chandigarh software development company in coimbatore software development company in delhi