Bug #4922
closedBug in Webrick httprequest.rb using multiple proxies and fix
Description
(From [ruby-core:33872])
Hi.
This is my first post to this mailing list, so please tell me, if I posted this the wrong place, or I in any other way should do something different.
I have been playing around with Webrick for some time now, and decided to set up a virtual machine with a hosted webrick based application.
For every request, the request goes through two Apache proxies because of lack of IP adresses. The forwarded hostname is therefore split by commas like this:
Host= domain.com, someotherdomainoorip.com
Webrick doesnt handle this well. It looks like it only supports one single forwarded hostname.
This can however easily be fixed by changing like 291 in httprequest.rb from:
host, port = @forwarded_host, @forwarded_port
To:
host, port = @forwarded_host.split(",")[0].strip, @forwarded_port
If not, Webrick will not handle the request and raise an error.
My fix may be more than a hack than a fix, but for now it works and makes Webrick actually handle the request instead of crashing. I have attached a .diff I made with Subversion.
Thank you for a great programming language.
--
Kasper Johansen