有没有办法在nginx配置上游块中指定端口范围?

时间:2017-07-19 17:38:59

标签: nginx reverse-proxy

我正在寻找一种在nginx上游块中指定端口范围的方法。

有没有办法解决这个问题:

using namespace cli;

这样的事情?:

upstream backend {

    least_conn;

    server 127.0.0.1:3000;
    server 127.0.0.1:3001;
    server 127.0.0.1:3002;
    server 127.0.0.1:3003;
    server 127.0.0.1:3004;
    server 127.0.0.1:3005;
}

1 个答案:

答案 0 :(得分:0)

使用Openresty操作主机的一种方法,该方法基于Nginx,并且能够运行Lua插件。使它起作用的代码片段看起来像这样

upstream backend {
        balancer_by_lua_block {
        local balancer = require "ngx.balancer"
        local start_port=3000
        local max_port=start_port+5
        repeat
            local ok, err = balancer.set_current_peer('127.0.0.1', start_port)
            if not ok then
                ngx.log(ngx.ERR, "failed to set the current peer: ", err)
                return ngx.exit(500)
        end
        start_port=start_port+1
        until start_port>max_port
    } 
相关问题