Skip to content

Commit eedff2d

Browse files
committed
forward port with x-headers
1 parent 1466a5f commit eedff2d

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

lib/rack/reverse_proxy.rb

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,16 @@ def proxy(env, source_request, matcher)
4444

4545
# Setup headers
4646
target_request_headers = extract_http_request_headers(source_request.env)
47-
47+
4848
if options[:preserve_host]
49-
target_request_headers['HOST'] = uri.host
50-
target_request_headers['PORT'] = uri.port.to_s unless uri.port.to_s == 80.to_s
49+
target_request_headers['HOST'] = "#{uri.host}:#{uri.port}"
50+
end
51+
52+
if options[:x_forwarded_host]
53+
target_request_headers['X-Forwarded-Host'] = source_request.host
54+
target_request_headers['X-Forwarded-Port'] = "#{source_request.port}"
5155
end
52-
53-
target_request_headers['X-Forwarded-Host'] = source_request.host if options[:x_forwarded_host]
56+
5457
target_request.initialize_http_header(target_request_headers)
5558

5659
# Basic auth

0 commit comments

Comments
 (0)