nginx代理\传递到动态url
我有多个后端服务器,我想用一个nginx服务器实例代理所有服务器。我不想在添加新的后端服务器时更改nginx.conf 例如:服务器1:192.168.10.1:8080,服务器2:192.168.10.2:8080,等等 Nginx正在上运行。我想使用等访问Server1 我尝试了这种配置,但它给出了500个错误页面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
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,更新了我的问题,我的意思是说我不想在每次添加新实例时更改它。请发布与错误相关的错误日志片段。