diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-09-30 13:40:42 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-09-30 13:40:42 -0400 |
| commit | 5d583f42d4bc918256bcd50d26e555dcbd892e66 (patch) | |
| tree | 49e125169d67d5e78a59d8097c8c3cb547052b68 | |
| parent | 9f86ebab28207be22617e165214ba68c35a09b15 (diff) | |
update https redirect
| -rw-r--r-- | Emby.Server.Implementations/HttpServer/HttpListenerHost.cs | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs index acc247e45..737d4ceea 100644 --- a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs +++ b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs @@ -4,6 +4,7 @@ using MediaBrowser.Controller.Net; using MediaBrowser.Model.Logging; using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; using System.Reflection; @@ -423,13 +424,16 @@ namespace Emby.Server.Implementations.HttpServer return true; } - private bool ValidateSsl(string remoteIp) + private bool ValidateSsl(string remoteIp, string urlString) { if (_config.Configuration.RequireHttps && _appHost.EnableHttps) { - if (!_networkManager.IsInLocalNetwork(remoteIp)) + if (urlString.IndexOf("https://", StringComparison.OrdinalIgnoreCase) == -1) { - return false; + if (!_networkManager.IsInLocalNetwork(remoteIp)) + { + return false; + } } } @@ -466,9 +470,13 @@ namespace Emby.Server.Implementations.HttpServer return; } - if (!ValidateSsl(httpReq.RemoteIp)) + if (!ValidateSsl(httpReq.RemoteIp, urlString)) { - RedirectToUrl(httpRes, urlString.Replace("http://", "https://", StringComparison.OrdinalIgnoreCase)); + var httpsUrl = urlString + .Replace("http://", "https://", StringComparison.OrdinalIgnoreCase) + .Replace(":" + _config.Configuration.PublicPort.ToString(CultureInfo.InvariantCulture), ":" + _config.Configuration.PublicHttpsPort.ToString(CultureInfo.InvariantCulture), StringComparison.OrdinalIgnoreCase); + + RedirectToUrl(httpRes, httpsUrl); return; } @@ -487,7 +495,7 @@ namespace Emby.Server.Implementations.HttpServer enableLog = EnableLogging(urlString, localPath); urlToLog = urlString; - logHeaders = enableLog && urlToLog.IndexOf("/videos/", StringComparison.OrdinalIgnoreCase) != -1; + logHeaders = enableLog && urlToLog.IndexOf("/videos/", StringComparison.OrdinalIgnoreCase) != -1; if (enableLog) { |
