Openresty如何在prroxy服务器和上游服务器之间获取代理服务器中的套接字端口?

时间:2017-04-05 09:27:02

标签: nginx lua openresty

我使用OpenResty®代理我的后端服务器。 该流程是客户端 - >代理服务器 - >后端服务器

问题是代码的评论:

stream {
    upstream teststream{
        server xxxxxx:1234;
    }

    server {
        listen 1234;
        proxy_pass teststream;

        content_by_lua_block {
            #how to get the proxy server socket port between proxy server and backend server
        }
    }}

客户端向代理服务器发送消息,然后代理服务器将消息转发给后端服务器。代理服务器将新建一个套接字来连接后端服务器,那么如何获取代理服务器和后端服务器之间的代理服务器套接字端口content_by_lua_block?

1 个答案:

答案 0 :(得分:1)

https://github.com/openresty/lua-upstream-nginx-module

  

<强> get_servers

     

语法:servers = upstream.get_servers(upstream_name)

     

获取指定上游的所有服务器的配置   组。请一台服务器在其服务器上可能需要多个地址   名称可以解析为多个地址。

     

返回值是一个类似于数组的Lua表。每个表条目都是一个   类似哈希的Lua表,它采用以下键:

     
      
  • 地址
  •   
     

套接字地址。可以是Lua字符串或类似Lua的数组   Lua字符串表。

     

...

BTW,proxy_pass和content_by_lua_block都是内容阶段指令。 只有一个会起作用。请看一下这篇文章https://groups.google.com/forum/#!topic/openresty-en/DRocQpM4mVY