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

_______________________________________________
List: Catalyst@lists.rawmode.org
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/
Dev site: http://dev.catalyst.perl.org/

Reply via email to