2016-04-19 6 views
2

Angenommen, i QuelleSetup-dynamische Upstream mit nginx

upstream first { 
} 

upstream second { 
} 

Und dann in server Block aufwärts haben

map $geoip_country_code $is_china { 
    default no; 
    CN yes; 
} 

Was ich möchte, wenn $is_china zu erreichen, verwenden Sie einen anderen Upstream

proxy_pass http://$preferred_host/; 

Ich kann mir nicht vorstellen, wie dies mit Nginx zu tun ist.

Antwort

2

map könnte nur ausreichend sein. Hast du folgendes versucht?

map $geoip_country_code $preferred_host { 
    default first; 
    CN  second; 
} 
+0

Vielen Dank. Ich habe gerade auch von 'map' erfahren. Ich werde es versuchen, da es sauberer aussieht als das obige. –

+0

np. Eine gute Sache über 'map' ist, dass Sie einfach mehr Schlüsselwertpaare hinzufügen können. –

0

I nginx

in if Ziehen Sie können
set $preferred_host http://first; 
if ($is_china) { 
    set $preferred_host http://second; 
} 

location/{ 
    proxy_pass $preferred_host/; 
    ... 
} 
Verwandte Themen