traficserver 加入lua脚本,配置响应头信息

原创 2016年08月21日 17:38:07

九、加入lua,配置响应头信息:

  1.修改配置文件plugin.config

     加入:background_fetch.so


  2.修改配置文件remap.config

     map http://www.test100.com/ http://www.test100.com/ @plugin=/usr/local/ats/libexec/trafficserver/tslua.so @pparam=/usr/local/ats/lua_ats/test_hdr.lua

  

   注意:@plugin 这里需要加载tslua.so库,   @pparam  这里是编写的lua脚本。


  3.脚本如下(下面是测试的脚本):

    function send_response()

      

      ts.client_response.header['Host'] = ts.ctx['hdr']

      ts.client_response.header['request-get-method'] = ts.ctx['re']

      ts.client_response.header['Uri'] = ts.ctx['uri']

      ts.client_response.header['server'] = ts.ctx['ser']

      local cache_status = ts.http.get_cache_lookup_status()

      if cache_status == TS_LUA_CACHE_LOOKUP_MISS then

         ts.client_response.header['cache-lookup'] = 'MISS'

      elseif cache_status == TS_LUA_CACHE_LOOKUP_HIT_STALE then

         ts.client_response.header['cache-lookup'] = 'HIT_STALE'

      elseif cache_status == TS_LUA_CACHE_LOOKUP_HIT_FRESH then

         ts.client_response.header['cache-lookup'] = 'HIT_FRESH'

      elseif cache_status == TS_LUA_CACHE_LOOKUP_SKIPPED then

         ts.client_response.header['cache-lookup'] = 'HIT_SKIPPED'

      end

      return 0

    end


   function do_remap()

    ts.ctx['hdr'] = 'www.test100.com'

    ts.ctx['ser'] = 'wang'

    ts.ctx['re'] = ts.client_request.get_method()

    ts.ctx['uri'] = ts.client_request.get_uri()

    ts.hook(TS_LUA_HOOK_SEND_RESPONSE_HDR, send_response)

    return 0

   end


然后wget 下,看看效果吧 

ATS 5.2.1中Background-Fetch插件调研笔记

简介这是Apache Traffic Server(简称ATS)中的一个插件, 允许你从源站主动获取Object内容并填充到缓存中, 当你的所有或是大部分client request都是byte-ra...
  • tao_627
  • tao_627
  • 2015-05-01 22:29:16
  • 1339

Apache Traffic Server(ATS) 根据User Agent实现302重定向

需求:通过User Agent判断手机用户,重定向到手机页面。首先看github上面的例子,或者直接看官网。 其实很简单,直接来吧#判断是否有手机ua关键字的,举了写例子。 function isM...
  • ah_luozhi
  • ah_luozhi
  • 2017-03-10 16:57:41
  • 414

traficserver 加入lua脚本,配置响应头信息

九、加入lua,配置响应头信息:   1.修改配置文件plugin.config      加入:background_fetch.so   2.修改配置文件remap.config ...
  • wjg_ww
  • wjg_ww
  • 2016-08-21 17:38:07
  • 660

ATS常用命令脚本化

先上代码 #!/bin/bash export PATH=/opt/ats/bin:$PATH HONG () { echo -e "\033[0;31;1m$*\033[...
  • sinat_24820331
  • sinat_24820331
  • 2017-11-28 14:48:35
  • 41

Unity-编辑器创建Lua脚本模版-热更新

方法 一个简单的方法: 打开Unity安装目录\Editor\Data\Resources\ScriptTemplates 新建一个名为 89-LuaScri...
  • Admin_Jhon
  • Admin_Jhon
  • 2017-05-03 16:53:23
  • 753

Lua与C——执行Lua脚本(二)

Lua是通过Lua解释器来执行的,也就是一段C语言的代码,通过引入Lua的库,可以自己编写代码来执行Lua脚本。 在mac中引入Lua库见:点击这里...
  • X805433354
  • X805433354
  • 2015-06-15 14:31:55
  • 1913

traficserver 加入lua脚本,配置响应头信息

九、加入lua,配置响应头信息:   1.修改配置文件plugin.config      加入:background_fetch.so   2.修改配置文件remap.config ...
  • wjg_ww
  • wjg_ww
  • 2016-08-21 17:38:07
  • 660

Lua下载安装

1. 登陆官网下载源码 -> www.lua.org -> get started ->  installing  选择系统类型(这里是Windows的,所以下载 luaDist) 2. 下载以...
  • qq_28406209
  • qq_28406209
  • 2017-02-27 14:02:17
  • 161

在Unity3d中解析Lua脚本的方法

由于近期项目中提出了热更新的需求,因此本周末在Lua的陪伴下度过。对Lua与Unity3d的搭配使用,仅仅达到了一个初窥门径的程度,记录一二于此。水平有限,欢迎批评指正。   网络上关于L...
  • xfnjlove
  • xfnjlove
  • 2014-09-18 10:47:13
  • 1037

使用lua脚本配置程序

在一般的项目中,配置文件是少不了的。对于简单的应用,可以自己来解析配置文件,但是这种方式基本上谈不上扩展,一旦有新的需求,整个解析程序都要重写。近些年,使用xml作为配置文件的应用越来越多,像java...
  • hesonghua
  • hesonghua
  • 2008-06-06 23:33:00
  • 234
收藏助手
不良信息举报
您举报文章:traficserver 加入lua脚本,配置响应头信息
举报原因:
原因补充:

(最多只允许输入30个字)