Proxy_pass有两个变量

时间:2018-04-06 13:57:13

标签: nginx proxy lua proxypass

我需要使用两个变量$ip$port创建一个proxy_pass。这两个变量来自块lua:

location /test/ {
        default_type 'text/plain';
        set $ip '';
        set $port '';

        content_by_lua_block {
            local ip = '';
            local port = '';

            ...

            ngx.var.ip = ip;
            ngx.var.port = port;
        }
        proxy_set_header X-Forwarded-For $remote_addr;
        rewrite ^/connect/(.*) /$1 break;
        proxy_pass http://$ip:$port;
    }

当我这样做时,我得到500错误。

但是当我没有通过lua进行测试而没有在proxy_pass中输入变量时,它运行良好:

location /test/ {
        default_type 'text/plain';
        set $ip '';
        set $port '';

        content_by_lua_block {
            local ip = '';
            local port = '';

            ...

            ngx.var.ip = ip;
            ngx.var.port = port;
        }
        proxy_set_header X-Forwarded-For $remote_addr;
        rewrite ^/connect/(.*) /$1 break;
        proxy_pass http://127.0.0.1:8008;
    }

0 个答案:

没有答案