我怎样才能得到上游服务器的价值在Nginx反向代理configuration

我正在处理nginx反向代理和负载平衡configuration,这是configuration。 后端我离开heroku。

是否有可能从上游部分获取服务器值,并使用服务器部分中的值来设置标题?

upstream backend { server myapp1.herokuapp.com; server myapp2.herokuapp.com;} server { listen 80; if(condition1){ set $len_host "myapp1.heroku.com"; } if(condition2){ set $len_host "myapp2.heroku.com"; } location / { proxy_pass http://backend; proxy_set_header Host $len_host; #proxy_set_header Host myapp1.herokuapp.com; } 

}

我想dynamic地获取哪个上游服务器正在使用,并将该服务器设置为标题。 你们有什么想法如何设置?

我必须使用这种方法的原因是因为如果我只使用

 proxy_pass backend; 

它返回heroku没有这样的应用程序错误,如果我改变

 upstream backend { server www.google.com; } 

它会返回谷歌的404页面。

但是我发现如果我可以在服务器部分设置标题,就像

 proxy_set_header Host myapp1.herokuapp.com; 

可以findmyapp1服务器。 而且我想在这个反向代理中添加负载均衡function。 所以我认为如果我能从上游获得服务器的值,并将其设置在服务器部分,负载均衡function应该可以工作,但是我不知道如何从上游获得服务器的域名。 所以如果有人知道,请告诉我,谢谢。