Skip to content

Commit 93cfef1

Browse files
committed
HTTPS support
1 parent 4ee91c4 commit 93cfef1

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

lib/rack/reverse_proxy.rb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'net/http'
2+
require 'net/https'
23

34
module Rack
45
class ReverseProxy
@@ -20,8 +21,12 @@ def call(env)
2021
headers[$1] = value
2122
end
2223
}
24+
headers['HOST'] = uri.host
2325

24-
Net::HTTP.start(uri.host, uri.port) { |http|
26+
session = Net::HTTP.new(uri.host, uri.port)
27+
session.use_ssl = (uri.scheme == 'https')
28+
session.verify_mode = OpenSSL::SSL::VERIFY_NONE
29+
session.start { |http|
2530
m = rackreq.request_method
2631
case m
2732
when "GET", "HEAD", "DELETE", "OPTIONS", "TRACE"
@@ -40,7 +45,8 @@ def call(env)
4045
body << segment
4146
end
4247
end
43-
[res.code, Rack::Utils::HeaderHash.new(res.to_hash), [body]]
48+
h = res.to_hash.reject { |k,v| k.downcase == 'status' }
49+
[res.code, Rack::Utils::HeaderHash.new(h), [body]]
4450
}
4551
end
4652

0 commit comments

Comments
 (0)