NGINX for the Developer
[ 178 ]The first step is to define the processing actions in a Perl handler:
# upstreammapper.pm# name our package
package upstreammapper;# include the nginx request methods and return code definitions
use nginx;# this subroutine will be called from nginx
sub handler {my $r = shift;my @alpha = ("a".."z");my %upstreams = ();# simplistically create a mapping between letter and
# an IP which is between 10 and 35 of that network
foreach my $idx (0..$#alpha) {$upstreams{ $alpha[$idx] } = $idx + 10;}# get the URI into an array
my @uri = split(//,$r->uri);# so that we can use the first letter as a key
my $ip = "10.100.0.". $upstreams{ $uri[1] };return $ip;}1;__END__