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 下,看看效果吧 

openresty用header_filter_by_lua设置自定义HTTP头

header_filter_by_lua的说明: header_filter_by_lua syntax: header_filter_by_lua context: http, server...
  • daiyudong2020
  • daiyudong2020
  • 2016年11月13日 15:32
  • 4032

使用ATS中的regex_remap插件实现正则匹配的url重定向

要点总结如下: 1.正向和反向代理可以同时并存,并且remap可以兼容这两种模式。 2.在使用regex_map时,是借助remap的配置来设置,而且remap.so和regex_remap.so已经...
  • tao_627
  • tao_627
  • 2014年02月09日 18:34
  • 4443

golang 设置 http response 响应头的内容与坑

golang 设置 http response 响应头的内容与坑 用 golang 写 http server 时,可以很方便可通过 w.Header.Set(k, v) 来设置 htt...
  • weiyuefei
  • weiyuefei
  • 2017年11月23日 14:19
  • 483

lua开发--web页面服务

技术选型MQ可以使用如Apache ActiveMQ;Worker/动态服务可以通过如Java技术实现;RPC可以选择如alibaba Dubbo;KV持久化存储可以选择SSDB(如果使用SSD盘则可...
  • lucas421634258
  • lucas421634258
  • 2015年11月12日 21:24
  • 1894

HTTP响应头信息和请求头信息详解

HTTP响应头信息和请求头信息详解
  • qq_35718410
  • qq_35718410
  • 2016年10月27日 16:58
  • 477

HTTP响应头和请求头信息对照表

HTTP Request Header 请求头 Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/html,application/...
  • sinat_21455985
  • sinat_21455985
  • 2016年08月15日 11:16
  • 736

lua 语法例子收集

字符串(Literal strings) 以单引号或者双引号定界,同时可以包含以下C语言风格的转义字符:   \a --- 铃声(bell)  \b --- 回退(backspace)  \f...
  • sinat_20010675
  • sinat_20010675
  • 2017年03月31日 13:48
  • 938

nginx-lua 运行阶段

Nginx 处理请求的过程一共划分为 11 个阶段,按照执行顺序依次是{ post-read、[Nginx 读取并解析完请求头(request headers)之后就立即开始运行 server-re...
  • fb408487792
  • fb408487792
  • 2016年12月13日 15:27
  • 1095

HTTP协议请求头信息和响应头信息详解

http的请求部分   基本结构     请求行 GET  /test/hello.html HTTP/1.1      消息头(并不是每一次请求都一样)      空行      内容(内容名字=内...
  • u010648159
  • u010648159
  • 2016年09月11日 21:10
  • 2694

总结:HTTP响应头,跨域资源共享,服务器端需要返回的响应头信息;HTTP响应头

1.Access-Control-Allow-Origin 返回的资源需要有一个Access-Control-Allow-Origin头信息,语法如下: Access-Contro...
  • qq_24122593
  • qq_24122593
  • 2017年03月18日 16:30
  • 1327
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:traficserver 加入lua脚本,配置响应头信息
举报原因:
原因补充:

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