diff --git a/src/OrchardCore.Cms.Web/appsettings.json b/src/OrchardCore.Cms.Web/appsettings.json index 376be80bf5f..44fe2e1ae9e 100644 --- a/src/OrchardCore.Cms.Web/appsettings.json +++ b/src/OrchardCore.Cms.Web/appsettings.json @@ -278,8 +278,8 @@ //} //"OrchardCore_ReverseProxy": { // "ForwardedHeaders": "None", - // "KnownNetworks": ["192.168.1.100/4", "192.168.1.101/4"], - // "KnownProxies": ["192.168.1.200", "192.168.1.201"], + // "KnownNetworks": ["192.168.1.0/24"], + // "KnownProxies": ["192.168.1.200", "192.168.1.201"] //}, //"OrchardCore_Facebook": { // "AppId": "", diff --git a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/AdminMenu.cs b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/AdminMenu.cs index 8fb04d07f69..a5069a083aa 100644 --- a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/AdminMenu.cs +++ b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/AdminMenu.cs @@ -42,14 +42,12 @@ protected override ValueTask BuildAsync(NavigationBuilder builder) builder .Add(S["Settings"], settings => settings - .Add(S["Security"], S["Security"].PrefixPosition(), security => security - .Add(S["Reverse Proxy"], S["Reverse Proxy"].PrefixPosition(), proxy => proxy - .AddClass("reverseproxy") - .Id("reverseproxy") - .Action("Index", "Admin", _routeValues) - .Permission(Permissions.ManageReverseProxySettings) - .LocalNav() - ) + .Add(S["Reverse Proxy"], S["Reverse Proxy"].PrefixPosition(), proxy => proxy + .AddClass("reverseproxy") + .Id("reverseproxy") + .Action("Index", "Admin", _routeValues) + .Permission(Permissions.ManageReverseProxySettings) + .LocalNav() ) ); diff --git a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Services/ForwardedHeadersOptionsConfiguration.cs b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Configuration/ForwardedHeadersOptionsConfiguration.cs similarity index 85% rename from src/OrchardCore.Modules/OrchardCore.ReverseProxy/Services/ForwardedHeadersOptionsConfiguration.cs rename to src/OrchardCore.Modules/OrchardCore.ReverseProxy/Configuration/ForwardedHeadersOptionsConfiguration.cs index b06d93ddc9d..ad62150bcbc 100644 --- a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Services/ForwardedHeadersOptionsConfiguration.cs +++ b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Configuration/ForwardedHeadersOptionsConfiguration.cs @@ -3,9 +3,9 @@ using Microsoft.Extensions.Options; using OrchardCore.ReverseProxy.Settings; -namespace OrchardCore.ReverseProxy.Services; +namespace OrchardCore.ReverseProxy.Configuration; -public sealed class ForwardedHeadersOptionsConfiguration : IConfigureOptions +internal sealed class ForwardedHeadersOptionsConfiguration : IConfigureOptions { private readonly ReverseProxySettings _reverseProxySettings; diff --git a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Configuration/ReverseProxySettingsConfiguration.cs b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Configuration/ReverseProxySettingsConfiguration.cs new file mode 100644 index 00000000000..83fb77d3912 --- /dev/null +++ b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Configuration/ReverseProxySettingsConfiguration.cs @@ -0,0 +1,22 @@ +using Microsoft.Extensions.Options; +using OrchardCore.ReverseProxy.Settings; +using OrchardCore.Settings; + +namespace OrchardCore.ReverseProxy.Configuration; + +internal sealed class ReverseProxySettingsConfiguration : IConfigureOptions +{ + private readonly ISiteService _siteService; + + public ReverseProxySettingsConfiguration(ISiteService siteService) + => _siteService = siteService; + + public void Configure(ReverseProxySettings options) + { + var settings = _siteService.GetSettings(); + + options.ForwardedHeaders = settings.ForwardedHeaders; + options.KnownNetworks = settings.KnownNetworks; + options.KnownProxies = settings.KnownProxies; + } +} diff --git a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/OrchardCore.ReverseProxy.csproj b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/OrchardCore.ReverseProxy.csproj index 38f7cb6d337..4e7d100b8e8 100644 --- a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/OrchardCore.ReverseProxy.csproj +++ b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/OrchardCore.ReverseProxy.csproj @@ -1,4 +1,4 @@ - + true diff --git a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Services/ReverseProxyService.cs b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Services/ReverseProxyService.cs deleted file mode 100644 index 65d857c9d4f..00000000000 --- a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Services/ReverseProxyService.cs +++ /dev/null @@ -1,15 +0,0 @@ -using OrchardCore.ReverseProxy.Settings; -using OrchardCore.Settings; - -namespace OrchardCore.ReverseProxy.Services; - -public class ReverseProxyService -{ - private readonly ISiteService _siteService; - - public ReverseProxyService(ISiteService siteService) - => _siteService = siteService; - - public Task GetSettingsAsync() - => _siteService.GetSettingsAsync(); -} diff --git a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Services/ReverseProxySettingsConfiguration.cs b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Services/ReverseProxySettingsConfiguration.cs deleted file mode 100644 index 652c390c05a..00000000000 --- a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Services/ReverseProxySettingsConfiguration.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Microsoft.Extensions.Options; -using OrchardCore.ReverseProxy.Settings; - -namespace OrchardCore.ReverseProxy.Services; - -public class ReverseProxySettingsConfiguration : IConfigureOptions -{ - private readonly ReverseProxyService _reverseProxyService; - - public ReverseProxySettingsConfiguration(ReverseProxyService reverseProxyService) - => _reverseProxyService = reverseProxyService; - - public void Configure(ReverseProxySettings options) - { - var settings = _reverseProxyService.GetSettingsAsync() - .GetAwaiter() - .GetResult(); - - options.ForwardedHeaders = settings.ForwardedHeaders; - options.KnownNetworks = settings.KnownNetworks; - options.KnownProxies = settings.KnownProxies; - } -} - diff --git a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Startup.cs b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Startup.cs index 4f06ab7fa85..bbf4da8dceb 100644 --- a/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Startup.cs +++ b/src/OrchardCore.Modules/OrchardCore.ReverseProxy/Startup.cs @@ -5,8 +5,8 @@ using OrchardCore.DisplayManagement.Handlers; using OrchardCore.Modules; using OrchardCore.Navigation; +using OrchardCore.ReverseProxy.Configuration; using OrchardCore.ReverseProxy.Drivers; -using OrchardCore.ReverseProxy.Services; using OrchardCore.ReverseProxy.Settings; using OrchardCore.Security.Permissions; using OrchardCore.Settings.Deployment; @@ -29,10 +29,7 @@ public override void ConfigureServices(IServiceCollection services) services.AddPermissionProvider(); services.AddSiteDisplayDriver(); - services.AddSingleton(); - services.AddTransient, ReverseProxySettingsConfiguration>(); - services.AddTransient, ForwardedHeadersOptionsConfiguration>(); } }