about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/rainbows/reverse_proxy.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/rainbows/reverse_proxy.rb b/lib/rainbows/reverse_proxy.rb
index 0a8fd2b..93ad938 100644
--- a/lib/rainbows/reverse_proxy.rb
+++ b/lib/rainbows/reverse_proxy.rb
@@ -59,7 +59,8 @@ class Rainbows::ReverseProxy
       url, cfg = *url if Array === url
       if url =~ %r{\Ahttp://}
         uri = URI.parse(url)
-        sockaddr = Socket.sockaddr_in(uri.port, uri.host)
+        host = uri.host =~ %r{\A\[([a-fA-F0-9:]+)\]\z} ? $1 : uri.host
+        sockaddr = Socket.sockaddr_in(uri.port, host)
       else
         path = url.gsub(%r{\Aunix:}, "") # nginx compat
         %r{\A~} =~ path and path = File.expand_path(path)