[Catalyst] Engine::CGI PROXY_CHECK doesn't account for "double"
proxy?
Matt Pitts
mpitts at a3its.com
Thu Oct 23 21:28:58 BST 2008
This probably belongs on the DEV list, but I might be missing something
that someone here can help with...
I'm experimenting with E::HTTP::Prefork to hopefully switch over to it
and I've run into a problem that I can't find any historical reference
to.
E::CGI->prepare_path doesn't seem to properly account for multiple
frontend proxies that add their frontend hostnames to
HTTP_X_FORWARDED_HOST in a comma-delimited fashion.
It just takes HTTP_X_FORWARDED_HOST as-is when setting the host portion
of $c->req->base, causing $c-uri_for to return URIs like:
http://frontendproxy.com, backendproxy.local/path/to/desired/action
This is happening with Apache 2.2 mod_proxy (2 instances) and Catalyst
5.7014.
So, is comma separation the right behavior to have in
E::CGI->prepare_path... ?
@hosts = split(/,/, $ENV{HTTP_X_FORWARDED_HOST});
$host = shift @hosts;
v/r
-matt
More information about the Catalyst
mailing list