From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-2.9 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, URIBL_BLOCKED shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: yahns-public@yhbt.net Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id BA85D202F4; Sat, 13 Feb 2016 22:50:03 +0000 (UTC) Date: Sat, 13 Feb 2016 22:50:03 +0000 From: Eric Wong To: yahns-public@yhbt.net Subject: [PATCH 5/3] proxy_pass: pass X-Forwarded-Proto through Message-ID: <20160213225003.GA14098@dcvr.yhbt.net> References: <20160212014713.32163-1-e@80x24.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160212014713.32163-1-e@80x24.org> List-Id: This allows backend application servers to set "rack.url_scheme" as appropriate using Rack::Request#scheme. Plack/PSGI users can also take advantage of this using Plack::Middleware::ReverseProxy --- Eric Wong wrote: > Things like rack.url_scheme, SERVER_NAME, SERVER_PORT, etc... > will all need to be set properly. lib/yahns/proxy_pass.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/yahns/proxy_pass.rb b/lib/yahns/proxy_pass.rb index 3b68f01..511db02 100644 --- a/lib/yahns/proxy_pass.rb +++ b/lib/yahns/proxy_pass.rb @@ -226,6 +226,7 @@ def call(env) end req = "#{env['REQUEST_METHOD']} #{req} #{ver}\r\n" \ + "X-Forwarded-Proto: #{env['rack.url_scheme']}\r\n" \ "X-Forwarded-For: #{env["REMOTE_ADDR"]}\r\n".dup # pass most HTTP_* headers through as-is -- EW