Plack::Middleware::Proxy::ByHeader - choose remote host by header
my $app = builder { enable "Proxy::ByHeader", header => [ 'X-Taz-Proxy-To', 'Host' ]; allowed => [ 'example.com', 'www.example.com', 'www2.example.com' ]; Plack::App::Proxy->new()->to_app; }
Plack::Middleware::Proxy::ByHeader examines the request header to set the special environment variable plack.proxy.url which is used by Plack::App::Proxy to proxy the request.
If any of the header field names set with the option header is present in the request and if its value matches one of the allowed values, plack.proxy.url is set to the request uri with the hostname changed to the value of the header field.
The first present header short circuts the check even its value is not allowed. In this case the request is left unchanged.
If multiple headers with the same field name are present, the last value is used.
An array referece of headers to check. Defaults to the HOST header.
An array reference of allowed remote hosts. The hosts has to match perfectly, subdomains or wildcards are not possible. Defaults to an empty array reference which has the special meaning of allowing every remote target.
Plack::App::Proxy
Mario Domgoergen <mario@domgoergen.com>
To install Plack::Middleware::Proxy::ByHeader, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Plack::Middleware::Proxy::ByHeader
CPAN shell
perl -MCPAN -e shell install Plack::Middleware::Proxy::ByHeader
For more information on module installation, please visit the detailed CPAN module installation guide.