From f4eaa0f01ffb3db382802877aead3681b57a3c2f Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Sat, 6 Oct 2018 23:20:01 +0900 Subject: [PATCH] Make sure X-Forwarded-Port does not override ExternalUrl --- BTCPayServer/Hosting/BTCpayMiddleware.cs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/BTCPayServer/Hosting/BTCpayMiddleware.cs b/BTCPayServer/Hosting/BTCpayMiddleware.cs index a6808b37b..4aa3f6b1d 100644 --- a/BTCPayServer/Hosting/BTCpayMiddleware.cs +++ b/BTCPayServer/Hosting/BTCpayMiddleware.cs @@ -105,7 +105,7 @@ namespace BTCPayServer.Hosting return true; if ( - path.Equals("/tokens", StringComparison.Ordinal) && + path.Equals("/tokens", StringComparison.Ordinal) && ( httpContext.Request.Method == "GET" || httpContext.Request.Method == "POST")) return true; @@ -140,13 +140,9 @@ namespace BTCPayServer.Hosting if (reverseProxyScheme != null && _Options.ExternalUrl.Scheme != reverseProxyScheme) { if (reverseProxyScheme == "http" && _Options.ExternalUrl.Scheme == "https") - Logs.PayServer.LogWarning($"BTCPay ExternalUrl setting expected to use scheme '{_Options.ExternalUrl.Scheme}' externally, but the reverse proxy uses scheme '{reverseProxyScheme}'"); - httpContext.Request.Scheme = reverseProxyScheme; - } - else - { - httpContext.Request.Scheme = _Options.ExternalUrl.Scheme; + Logs.PayServer.LogWarning($"BTCPay ExternalUrl setting expected to use scheme '{_Options.ExternalUrl.Scheme}' externally, but the reverse proxy uses scheme '{reverseProxyScheme}' (X-Forwarded-Port), forcing ExternalUrl"); } + httpContext.Request.Scheme = _Options.ExternalUrl.Scheme; if (_Options.ExternalUrl.IsDefaultPort) httpContext.Request.Host = new HostString(_Options.ExternalUrl.Host); else