[Catalyst] RFC for handling reverse proxies not deployed to
standard ports.
Andy Grundman
andy at hybridized.org
Fri Jun 15 17:43:09 GMT 2007
On Jun 15, 2007, at 12:24 PM, Marlon Bailey wrote:
> Current situation: There is no clean solution for deploying a reverse
> proxy to a nonstandard HTTP(80)/HTTPs(443) port, like port 8080.
>
> Suggestion: I'd like to submit a solution that extends the current
> proxy-backend practice of reading the proxy values out of the request
> header. Currently the client's IP is taken from a "X-Forwarded-For"
> header value, and the host's(Reverse Proxy) hostname is taken from a
> "X-Forwarded-Host" header value. I suggest adding the ability for
> Catalyst to set the host's port from a "X-Forwarded-Host-Port" header
> value. This way a simple config option such as this
>
> HEADER balancer_for_dev2 insert X-Forwarded-Host-Port: 8080
>
> in a Perlbal config will give a clean solution.
I'm ok with X-Forwarded-Host-Port.
>
> Extras considerations: After speaking with Matt(mst) about this, he
> also suggested allowing the "Path" value to be set from a header value
> as well.
So this would be to handle the case where your frontend path is /foo
but your backend app is running at / ? I suppose as long as we're
adding more non-standard stuff, sure, why not? :)
If you patch this, be sure to also patch the Apache engine. In fact,
maybe you could refactor this so the proxy checking can be done in a
single place in Catalyst::Engine, instead of duplicated in multiple
engines (my fault).
-Andy
More information about the Catalyst
mailing list