具有Lua和TCP重定向的

时间:2015-11-05 14:52:50

标签: tcp lua haproxy

HY, 我正在尝试使用基于TCP内容的HAproxy重定向流量。

使用Lua,我可以注册检查内容的服务,如下所示:

core.register_service("chooseserver", "tcp", function(AppletTCP)
  function string.checkit(str)
      --mylogichere
      return string.char('server1')
  end

  tcp_line = AppletTCP:getline()
  server = tcp_line:checkit()
  if server == 'server1'   then
    -- HERE
    AppletTCP:send(tcp_line)
  else
    AppletTCP:send(tcp_line)
  end
end)

在HAproxy配置中,您可以添加

listen proxy
   bind 127.0.0.1:10001
   tcp-request content use-service lua.chooseserver

那将执行服务(我可以记录信息),但AppletTCP:send无法正常工作(没有错误)将Package发送到后端定义,我无法将TCP包发送到我选择的服务器

不确定我是否应该使用register_action代替此任务,但我无法使其工作

我需要Lua,因为我需要读取TCP包的内容并根据其内容将其发送到另一台服务器。我需要能够拆分解码和编码字符串,迭代数组和类似的基础操作符。如果你知道其他方式也很高兴知道。

0 个答案:

没有答案