From 4949b41e6f96ec4b168d2a2e11f0b4b71293ae09 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 24 Apr 2021 13:21:25 +0530 Subject: [PATCH] webapp: fixed issue in checkForWebConsoleRedirection() causing redirection when using reverse proxy. --- DnsServerCore/www/js/main.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/DnsServerCore/www/js/main.js b/DnsServerCore/www/js/main.js index 5d8d932a..22af54cf 100644 --- a/DnsServerCore/www/js/main.js +++ b/DnsServerCore/www/js/main.js @@ -19,6 +19,7 @@ along with this program. If not, see . var token = null; var refreshTimerHandle; +var reverseProxyDetected = false; function showPageLogin() { hideAlert(); @@ -645,6 +646,7 @@ function loadDnsSettings() { success: function (responseJSON) { document.title = responseJSON.response.dnsServerDomain + " - " + "Technitium DNS Server v" + responseJSON.response.version; $("#lblAboutVersion").text(responseJSON.response.version); + checkForReverseProxy(responseJSON); $("#txtDnsServerDomain").val(responseJSON.response.dnsServerDomain); $("#lblDnsServerDomain").text(" - " + responseJSON.response.dnsServerDomain); @@ -1040,7 +1042,28 @@ function saveDnsSettings() { return false; } +function checkForReverseProxy(responseJSON) { + if (location.protocol == "https:") { + var currentPort = window.location.port; + + if ((currentPort == 0) || (currentPort == "")) + currentPort = 443; + + reverseProxyDetected = currentPort != responseJSON.response.webServiceTlsPort; + } else { + var currentPort = window.location.port; + + if ((currentPort == 0) || (currentPort == "")) + currentPort = 80; + + reverseProxyDetected = currentPort != responseJSON.response.webServiceHttpPort + } +} + function checkForWebConsoleRedirection(responseJSON) { + if (reverseProxyDetected) + return; + if (location.protocol == "https:") { var currentPort = window.location.port;