[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