Вы может получить случайную переменную из модуля misc:
set_random $loc_rnd 1 10;
Затем выберите внутреннее расположение на основе этого, с простым взвешиванием:
map $loc_rnd $loc_redirect {
1 @server1;
2 @server1;
...
8 @server2;
9 @server2;
10 @server2;
}
location / {
recursive_error_pages on;
error_page 403 = $loc_redirect;
return 403;
}
Перенаправления:
location @server1 {
internal;
return 302 http://box11.example.com$request_uri;
}
location @server2 {
internal;
return 302 http://box11.example.com$request_uri;
}
Другой вариант: используйте return 302 $ some_variable; (и полные URL-адреса на карте) прямо в месте "/".