nginx代理\传递到动态url

nginx代理\传递到动态url,nginx,reverse-proxy,proxypass,Nginx,Reverse Proxy,Proxypass,我有多个后端服务器,我想用一个nginx服务器实例代理所有服务器。我不想在添加新的后端服务器时更改nginx.conf 例如:服务器1:192.168.10.1:8080,服务器2:192.168.10.2:8080,等等 Nginx正在上运行。我想使用等访问Server1 我尝试了这种配置,但它给出了500个错误页面 location / { proxy_pass http://$arg_ip:8080; proxy_set_header Host $host; p

我有多个后端服务器,我想用一个nginx服务器实例代理所有服务器。我不想在添加新的后端服务器时更改nginx.conf

例如:服务器1:192.168.10.1:8080,服务器2:192.168.10.2:8080,等等 Nginx正在上运行。我想使用等访问Server1

我尝试了这种配置,但它给出了500个错误页面

location / {
   proxy_pass http://$arg_ip:8080;
   proxy_set_header Host      $host;
   proxy_set_header X-Real-IP $remote_addr;
}
我有什么遗漏吗?有没有其他方法可以做到这一点

server {
    server_name dynamic_host;
    listern 8080;

    #resolver 8.8.8.8;
    #seems you don't need resolver because you use ip address

    location / {
        if ( $arg_address != "" ) {
            proxy_pass $arg_address;

            #proxy_pass $arg_address$uri
            #proxy_pass $arg_address$request_uri
        }

    }
}
三个代理传递之间的差异

$proxy\u地址 example.com?地址=http://192.168.10.2:8080/ 去 http://192.168.10.2:8080/

$proxy\u地址$uri example.com/test/path?地址=http://192.168.10.2:8080/ 去 http://192.168.10.2:8080/test/path

$proxy\u address$request\u uri example.com/test/path?地址=http://192.168.10.2:8080/¶m=value 去 http://192.168.10.2:8080/test/path?address=http://192.168.10.2:8080/¶m=value

您可以将参数地址更改为ip,在这种情况下,不要忘记将$arg_地址更改为$arg_ip。 参考:

您更改了配置文件,但不想更改配置文件?@Rob,更新了我的问题,我的意思是说我不想在每次添加新实例时更改它。请发布与错误相关的错误日志片段。