http { [.....] geoip_country /path/to/GeoIP.dat; geoip_city /path/to/GeoIPCity.dat; [.....] }
upstream EU { ip_hash; server ********** server ********** server ********** [.....] fair; } upstream NA { ip_hash; server ********** [.....] fair; } [.....] server { listen 80; server_name www.my-cool-radiostream.com; rewrite ^ ********** permanent; #301 redirect } server { listen 8000; #порт шауткаста или айскаста например или стандартный 80) server_name my-cool-radiostream.com; root /home/radio/somepath; [.....] location / { proxy_pass $geoip_city_continent_code; [.....] } # ну и сразу еще один из вариантов-------------------------------------------------------------------------------------------------- location = /playlist.m3u { alias /some/path/$geoip_city_continent_code.m3u; } #--в данном случае выдается разный файл плейлиста из папки. тогда плейлисты должны называться например EU.m3u для Европы. # абсолютно то-же самое можно сделать и для стран итд итп. ну и чем создавать кучу плейлистов для каждой страны можно просто линк сделать. # еще один из вариантов с использованием модуля ngx_echo если у вас сервера по субдоменам location = /playlist.m3u { echo "http://$geoip_city_continent_code.someserver.com"; # напечатается первый элемент плейлиста пример: ********** } [.....] }
AS для Азии EU для Европы SA для Южной америки AF для Африки AN для Антарктики(мало-ли у вас есть сервера в антарктике)) или близлежащих Новой Зеландии, Аргентине итд) OC для Океании NA для Северной Америки