diff --git a/aspnet-core/services/LY.MicroService.TaskManagement.HttpApi.Host/TaskManagementHttpApiHostModule.Configure.cs b/aspnet-core/services/LY.MicroService.TaskManagement.HttpApi.Host/TaskManagementHttpApiHostModule.Configure.cs index dc7648a30..c0565f942 100644 --- a/aspnet-core/services/LY.MicroService.TaskManagement.HttpApi.Host/TaskManagementHttpApiHostModule.Configure.cs +++ b/aspnet-core/services/LY.MicroService.TaskManagement.HttpApi.Host/TaskManagementHttpApiHostModule.Configure.cs @@ -251,7 +251,7 @@ public partial class TaskManagementHttpApiHostModule services.AddSwaggerGen( options => { - options.SwaggerDoc("v1", new OpenApiInfo { Title = "WorkflowManagement API", Version = "v1" }); + options.SwaggerDoc("v1", new OpenApiInfo { Title = "TaskManagement API", Version = "v1" }); options.DocInclusionPredicate((docName, description) => true); options.CustomSchemaIds(type => type.FullName); options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme diff --git a/aspnet-core/start-http-api-host.bat b/aspnet-core/start-http-api-host.bat index a35e017b8..08112f469 100644 --- a/aspnet-core/start-http-api-host.bat +++ b/aspnet-core/start-http-api-host.bat @@ -25,7 +25,7 @@ dotnet run exit :watchrun -dotnet watch run +dotnet watch run --no-restore exit :restore diff --git a/aspnet-core/start-internal-gateway.bat b/aspnet-core/start-internal-gateway.bat index d38602273..f6071eb8d 100644 --- a/aspnet-core/start-internal-gateway.bat +++ b/aspnet-core/start-internal-gateway.bat @@ -10,6 +10,7 @@ cd ..\gateways\internal\LINGYUN.MicroService.Internal.ApiGateway\src\LINGYUN.Mic if '%1' equ '--publish' goto publish if '%1' equ '--run' goto run +if '%1' equ '--watchrun' goto watchrun if '%1' equ '--restore' goto restore if '%1' equ '' goto run exit @@ -23,6 +24,10 @@ exit dotnet run exit +:watchrun +dotnet watch run --no-restore +exit + :restore dotnet restore exit \ No newline at end of file diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/Ocelot/Configuration/AutoConfigOcelot.cs b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/Ocelot/Configuration/AutoConfigOcelot.cs new file mode 100644 index 000000000..f8517ca01 --- /dev/null +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/Ocelot/Configuration/AutoConfigOcelot.cs @@ -0,0 +1,83 @@ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text.RegularExpressions; +using System.Threading; +using Castle.Core.Logging; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Configuration.Memory; +using Newtonsoft.Json; +using Ocelot.Configuration.File; +using Serilog; +using Serilog.Core; + +namespace Ocelot.DependencyInjection +{ + public static class ConfigurationBuilderExtensions + { + public static IConfigurationBuilder AddAutoOcelotConfig(this IConfigurationBuilder builder, IWebHostEnvironment env) + { + return builder.AddAutoOcelotConfig(".", env); + } + + static object locker = new object(); + + public static IConfigurationBuilder AddAutoOcelotConfig(this IConfigurationBuilder builder, string folder, IWebHostEnvironment env) + { + WriteFile(folder, env); + Action fileChanged = (sender, e) => + { + lock (locker) + { + Log.Debug("Ocelot config regenerate..."); + Thread.Sleep(100); //解决vs文件保存时多次触发change事件时引起异常 + WriteFile(folder, env); + } + }; + + FileSystemWatcher watcher = new FileSystemWatcher("OcelotConfig", "*.json"); + watcher.Changed += new FileSystemEventHandler(fileChanged); + watcher.Deleted += new FileSystemEventHandler(fileChanged); + watcher.Created += new FileSystemEventHandler(fileChanged); + watcher.Renamed += new RenamedEventHandler(fileChanged); + watcher.EnableRaisingEvents = true; + + builder.AddJsonFile("ocelot.json", optional: true, reloadOnChange: true); + return builder; + } + + private static void WriteFile(string folder, IWebHostEnvironment env) + { + string excludeConfigName = ((env != null && env.EnvironmentName != null) ? ("ocelot." + env.EnvironmentName + ".json") : string.Empty); + Regex reg = new Regex("^ocelot\\.(.*?)\\.json$", RegexOptions.IgnoreCase | RegexOptions.Singleline); + List list = (from fi in new DirectoryInfo(folder).EnumerateFiles() + where reg.IsMatch(fi.Name) && fi.Name != excludeConfigName + select fi).ToList(); + FileConfiguration fileConfiguration = new FileConfiguration(); + foreach (FileInfo item in list) + { + if (list.Count <= 1 || !item.Name.Equals("ocelot.json", StringComparison.OrdinalIgnoreCase)) + { + FileConfiguration fileConfiguration2 = JsonConvert.DeserializeObject(File.ReadAllText(item.FullName)); + if (fileConfiguration2 == null) + { + Log.Fatal($"Ocelot config file \"{item.FullName}\" is empty"); + } + if (item.Name.Equals("ocelot.global.json", StringComparison.OrdinalIgnoreCase)) + { + fileConfiguration.GlobalConfiguration = fileConfiguration2.GlobalConfiguration; + } + + fileConfiguration.Aggregates.AddRange(fileConfiguration2.Aggregates); + fileConfiguration.Routes.AddRange(fileConfiguration2.Routes); + } + } + + string contents = JsonConvert.SerializeObject(fileConfiguration, Formatting.Indented); + File.WriteAllText("ocelot.json", contents); + } + } +} \ No newline at end of file diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.aggregate.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.aggregate.json similarity index 78% rename from gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.aggregate.json rename to gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.aggregate.json index efcc2f8eb..de5c3484d 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.aggregate.json +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.aggregate.json @@ -1,67 +1,62 @@ -{ - "Aggregates": [ - // ��̬�����ۺ� - { - "RouteKeys": [ - "platform-api-definition", - "backend-admin-api-definition", - "messages-api-definition", - "ids-admin-api-definition", - "localization-api-definition", - "task-api-definition", - "webhook-api-definition" - ], - "UpstreamPathTemplate": "/api/abp/api-definition", - "Aggregator": "AbpResponseMergeAggregator", - "Priority": 99 - }, - // ������þۺ� - { - "RouteKeys": [ - "platform-configuration", - "backend-admin-configuration", - "messages-configuration", - "ids-admin-configuration", - "localization-configuration", - "task-configuration" - ], - "UpstreamPathTemplate": "/api/abp/application-configuration", - "Aggregator": "AbpResponseMergeAggregator", - "Priority": 99 - }, - // ȫ������ - { - "RouteKeys": [ - "setting-global", - "wechat-setting-global", - "aliyun-setting-global", - "oss-management-setting-global" - ], - "UpstreamPathTemplate": "/api/setting-management/settings/by-global", - "Aggregator": "AbpResponseMergeAggregator", - "Priority": 99 - }, - // �⻧���� - { - "RouteKeys": [ - "setting-current-tenant", - "wechat-setting-current-tenant", - "aliyun-setting-current-tenant", - "oss-management-setting-current-tenant" - ], - "UpstreamPathTemplate": "/api/setting-management/settings/by-current-tenant", - "Aggregator": "AbpResponseMergeAggregator", - "Priority": 99 - }, - // �û����� - { - "RouteKeys": [ - "assignables-notifilers", - "my-subscribes" - ], - "UpstreamPathTemplate": "/api/my-subscribes/assignables-notifilers", - "Aggregator": "AbpResponseMergeAggregator", - "Priority": 99 - } - ] -} +{ + "Aggregates": [ + { + "RouteKeys": [ + "platform-api-definition", + "backend-admin-api-definition", + "messages-api-definition", + "ids-admin-api-definition", + "localization-api-definition", + "task-api-definition", + "webhook-api-definition" + ], + "UpstreamPathTemplate": "/api/abp/api-definition", + "Aggregator": "AbpResponseMergeAggregator" + }, + { + "RouteKeys": [ + "platform-configuration", + "backend-admin-configuration", + "messages-configuration", + "ids-admin-configuration", + "localization-configuration", + "task-configuration" + ], + "UpstreamPathTemplate": "/api/abp/application-configuration", + "Aggregator": "AbpResponseMergeAggregator", + "Priority": 99 + }, + { + "RouteKeys": [ + "setting-global", + "wechat-setting-global", + "tencent-cloud-setting-global", + "aliyun-setting-global", + "oss-management-setting-global" + ], + "UpstreamPathTemplate": "/api/setting-management/settings/by-global", + "Aggregator": "AbpResponseMergeAggregator", + "Priority": 99 + }, + { + "RouteKeys": [ + "setting-current-tenant", + "wechat-setting-current-tenant", + "tencent-cloud-setting-current-tenant", + "aliyun-setting-current-tenant", + "oss-management-setting-current-tenant" + ], + "UpstreamPathTemplate": "/api/setting-management/settings/by-current-tenant", + "Aggregator": "AbpResponseMergeAggregator", + "Priority": 99 + }, + { + "RouteKeys": [ + "setting-current-user" + ], + "UpstreamPathTemplate": "/api/setting-management/settings/by-current-user", + "Aggregator": "AbpResponseMergeAggregator", + "Priority": 99 + } + ] +} diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.backendadmin.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.backendadmin.json similarity index 53% rename from gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.backendadmin.json rename to gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.backendadmin.json index dda16d395..d82cfdfdf 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.backendadmin.json +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.backendadmin.json @@ -1,459 +1,809 @@ -{ - "Routes": [ - // ��ܶ˵� - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/abp/backend-admin/application-configuration", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "backend-admin-configuration" - }, - // ��ܶ�̬API�˵� - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/abp/backend-admin/api-definition", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "backend-admin-api-definition" - }, - // �⻧ - { - "DownstreamPathTemplate": "/api/abp/multi-tenancy/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/abp/multi-tenancy/{everything}", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // �⻧���� - { - "DownstreamPathTemplate": "/api/saas/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/saas/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // Ȩ�޹��� - { - "DownstreamPathTemplate": "/api/permission-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/permission-management/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // �⻧���� - { - "DownstreamPathTemplate": "/api/setting-management/settings/by-current-tenant", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/settings/by-current-tenant/app", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "setting-current-tenant" - }, - // ȫ������ - { - "DownstreamPathTemplate": "/api/setting-management/settings/by-global", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/settings/by-global/app", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "setting-global" - }, - // ΢���⻧���� - { - "DownstreamPathTemplate": "/api/setting-management/wechat/by-current-tenant", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/wechat/by-current-tenant", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "wechat-setting-current-tenant" - }, - // ΢��ȫ������ - { - "DownstreamPathTemplate": "/api/setting-management/wechat/by-global", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/wechat/by-global", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "wechat-setting-global" - }, - // �������⻧���� - { - "DownstreamPathTemplate": "/api/setting-management/aliyun/by-current-tenant", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/aliyun/by-current-tenant", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "aliyun-setting-current-tenant" - }, - // ������ȫ������ - { - "DownstreamPathTemplate": "/api/setting-management/aliyun/by-global", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/aliyun/by-global", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "aliyun-setting-global" - }, - // ���ù��� - { - "DownstreamPathTemplate": "/api/setting-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // ���Թ��� - { - "DownstreamPathTemplate": "/api/feature-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/feature-management/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // �����־ - { - "DownstreamPathTemplate": "/api/auditing/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/auditing/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // API �ĵ� - { - "DownstreamPathTemplate": "/swagger/v1/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/admin/v1/swagger.json", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - } - ] -} +{ + "Routes": [ + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/abp/backend-admin/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "backend-admin-configuration" + }, + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/abp/backend-admin/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "backend-admin-api-definition" + }, + { + "DownstreamPathTemplate": "/api/abp/multi-tenancy/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/abp/multi-tenancy/{everything}", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/tenant-management/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/tenant-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/permission-management/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/permission-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/by-current-tenant", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/settings/by-current-tenant/app", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "setting-current-tenant" + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/by-current-user", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/settings/by-current-user/app", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "setting-current-user" + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/by-global", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/settings/by-global/app", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "setting-global" + }, + { + "DownstreamPathTemplate": "/api/setting-management/wechat/by-current-tenant", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/wechat/by-current-tenant", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "wechat-setting-current-tenant" + }, + { + "DownstreamPathTemplate": "/api/setting-management/wechat/by-global", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/wechat/by-global", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "wechat-setting-global" + }, + { + "DownstreamPathTemplate": "/api/setting-management/tencent-cloud/by-current-tenant", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/tencent-cloud/by-current-tenant", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "tencent-cloud-setting-current-tenant" + }, + { + "DownstreamPathTemplate": "/api/setting-management/tencent-cloud/by-global", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/tencent-cloud/by-global", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "tencent-cloud-setting-global" + }, + { + "DownstreamPathTemplate": "/api/setting-management/aliyun/by-current-tenant", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/aliyun/by-current-tenant", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "aliyun-setting-current-tenant" + }, + { + "DownstreamPathTemplate": "/api/setting-management/aliyun/by-global", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/aliyun/by-global", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "aliyun-setting-global" + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/change-global", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/settings/change-global", + "UpstreamHttpMethod": [ + "PUT" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/change-current-tenant", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/settings/change-current-tenant", + "UpstreamHttpMethod": [ + "PUT" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/change-current-user", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/settings/change-current-user", + "UpstreamHttpMethod": [ + "PUT" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/setting-management/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/setting-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 5 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/feature-management/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/feature-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/saas/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/saas/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/auditing/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/auditing/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/text-templating/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/text-templating/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 30000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/caching-management/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/caching-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 30000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/abp/localization/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/api/abp/localization/{everything}", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/swagger/v1/swagger.json", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamPathTemplate": "/admin/v1/swagger.json", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + } + ] +} diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.global.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.global.json similarity index 84% rename from gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.global.json rename to gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.global.json index 566ebbfbd..a6439b946 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.global.json +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.global.json @@ -1,24 +1,24 @@ -{ - "GlobalConfiguration": { - "BaseUrl": "http://localhost:30000", - "DownstreamScheme": "HTTP", - "HttpHandlerOptions": { - "UseTracing": true - }, - "RateLimitOptions": { - "DisableRateLimitHeaders": false, - "ClientIdHeader": "ClientId", - "RateLimitCounterPrefix": "ocelot", - "QuotaExceededMessage": "您的操作过快,请稍后再试!", - "HttpStatusCode": 429 - }, - "QoSOptions": { - "TimeoutValue": 30000, - "DurationOfBreak": 60000, - "ExceptionsAllowedBeforeBreaking": 30 - }, - "LoadBalancerOptions": { - "Type": "RoundRobin" - } - } -} +{ + "GlobalConfiguration": { + "BaseUrl": "http://localhost:30000", + "DownstreamScheme": "HTTP", + "HttpHandlerOptions": { + "UseTracing": true + }, + "RateLimitOptions": { + "DisableRateLimitHeaders": false, + "ClientIdHeader": "ClientId", + "RateLimitCounterPrefix": "ocelot", + "QuotaExceededMessage": "您的操作过快,请稍后再试!", + "HttpStatusCode": 429 + }, + "QoSOptions": { + "TimeoutValue": 30000, + "DurationOfBreak": 60000, + "ExceptionsAllowedBeforeBreaking": 30 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin" + } + } +} diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.idsadmin.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.idsadmin.json similarity index 67% rename from gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.idsadmin.json rename to gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.idsadmin.json index 2c5a2852c..573860869 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.idsadmin.json +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.idsadmin.json @@ -1,180 +1,255 @@ -{ - "Routes": [ - // ܶ˵ - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/api/abp/ids-admin/application-configuration", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "ids-admin-configuration" - }, - // ̬ܶAPI˵ - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/api/abp/ids-admin/api-definition", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "ids-admin-api-definition" - }, - // ݱʶ - { - "DownstreamPathTemplate": "/api/identity/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/api/identity/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // ֤ - { - "DownstreamPathTemplate": "/api/identity-server/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/api/identity-server/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // û˻ - { - "DownstreamPathTemplate": "/api/account/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/api/account/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // API ĵ - { - "DownstreamPathTemplate": "/swagger/v1/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/ids-admin/v1/swagger.json", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - } - ] -} +{ + "Routes": [ + // 框架端点 + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamPathTemplate": "/api/abp/ids-admin/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "ids-admin-configuration" + }, + // 框架动态API端点 + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamPathTemplate": "/api/abp/ids-admin/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "ids-admin-api-definition" + }, + // 身份标识管理 + { + "DownstreamPathTemplate": "/api/identity/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamPathTemplate": "/api/identity/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // 身份认证服务器管理 + { + "DownstreamPathTemplate": "/api/identity-server/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamPathTemplate": "/api/identity-server/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // 用户账户管理 + { + "DownstreamPathTemplate": "/api/account/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamPathTemplate": "/api/account/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // 外部认证 + { + "DownstreamPathTemplate": "/.well-known/openid-configuration", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 44385 + } + ], + "UpstreamPathTemplate": "/.well-known/openid-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/connect/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 44385 + } + ], + "UpstreamPathTemplate": "/connect/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // API 文档 + { + "DownstreamPathTemplate": "/swagger/v1/swagger.json", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamPathTemplate": "/ids-admin/v1/swagger.json", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + } + ] +} \ No newline at end of file diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.localization.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.localization.json similarity index 86% rename from gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.localization.json rename to gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.localization.json index 1f5d53967..c6cbe9bfb 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.localization.json +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.localization.json @@ -1,118 +1,129 @@ -{ - "Routes": [ - // ܶ˵ - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30030 - } - ], - "UpstreamPathTemplate": "/api/abp/localization/application-configuration", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "localization-configuration" - }, - // ̬ܶAPI˵ - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30030 - } - ], - "UpstreamPathTemplate": "/api/abp/localization/api-definition", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "localization-api-definition" - }, - // ػ - { - "DownstreamPathTemplate": "/api/localization/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30030 - } - ], - "UpstreamPathTemplate": "/api/localization/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // API ĵ - { - "DownstreamPathTemplate": "/swagger/v1/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30030 - } - ], - "UpstreamPathTemplate": "/localization/v1/swagger.json", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - } - ] -} +{ + "Routes": [ + // 框架端点 + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30030 + } + ], + "UpstreamPathTemplate": "/api/abp/localization/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "localization-configuration" + }, + // 框架动态API端点 + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30030 + } + ], + "UpstreamPathTemplate": "/api/abp/localization/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "localization-api-definition" + }, + // 本地化管理 + { + "DownstreamPathTemplate": "/api/localization/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30030 + } + ], + "UpstreamPathTemplate": "/api/localization/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // API 文档 + { + "DownstreamPathTemplate": "/swagger/v1/swagger.json", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30030 + } + ], + "UpstreamPathTemplate": "/localization/v1/swagger.json", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + } + ] +} \ No newline at end of file diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.messages.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.messages.json similarity index 54% rename from gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.messages.json rename to gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.messages.json index 2042784b6..8fab8d957 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.messages.json +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.messages.json @@ -1,423 +1,291 @@ -{ - "Routes": [ - // ��ܶ˵� - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/abp/messages/application-configuration", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "messages-configuration" - }, - // ��ܶ�̬API�˵� - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/abp/messages/api-definition", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "messages-api-definition" - }, - // ��ʱͨѶ - { - "DownstreamPathTemplate": "/api/im/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/im/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // Hangfire �DZ��� - { - "DownstreamPathTemplate": "/hangfire/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/hangfire/{everything}", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/my-subscribes", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/my-subscribes", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Priority": 99 - }, - // �û����� - { - "DownstreamPathTemplate": "/api/my-subscribes/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/my-subscribes/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // �û������б� - { - "DownstreamPathTemplate": "/api/my-subscribes/all", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/my-subscribes/all", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Priority": 99, - "Key": "my-subscribes" - }, - // �û�����֪ͨ - { - "DownstreamPathTemplate": "/api/notifications/my-notifilers/assignables", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/notifications/my-notifilers/assignables", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Priority": 99, - "Key": "assignables-notifilers" - }, - // �û�֪ͨ - { - "DownstreamPathTemplate": "/api/notifications/my-notifilers", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/notifications/my-notifilers", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/notifications/my-notifilers/{id}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/notifications/my-notifilers/{id}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // API �ĵ� - { - "DownstreamPathTemplate": "/swagger/v1/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/messages/v1/swagger.json", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // ������ - { - "DownstreamPathTemplate": "/signalr-hubs/messages", - "DownstreamScheme": "ws", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/signalr-hubs/messages", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE", "OPTIONS" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": {}, - "DangerousAcceptAnyServerCertificateValidator": true, - "RouteIsCaseSensitive": false, - "Priority": 99 - }, - { - "DownstreamPathTemplate": "/signalr-hubs/notifications", - "DownstreamScheme": "ws", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/signalr-hubs/notifications", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE", "OPTIONS" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": {}, - "DangerousAcceptAnyServerCertificateValidator": true, - "RouteIsCaseSensitive": false, - "Priority": 99 - }, - { - "DownstreamPathTemplate": "/signalr-hubs/{everything}", - "DownstreamScheme": "ws", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/signalr-hubs/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE", "OPTIONS" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": {}, - "DangerousAcceptAnyServerCertificateValidator": true, - "RouteIsCaseSensitive": false - } - ] -} +{ + "Routes": [ + // 框架端点 + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamPathTemplate": "/api/abp/messages/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "messages-configuration" + }, + // 框架动态API端点 + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamPathTemplate": "/api/abp/messages/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "messages-api-definition" + }, + // 即时通讯 + { + "DownstreamPathTemplate": "/api/im/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamPathTemplate": "/api/im/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // Hangfire定时任务 + { + "DownstreamPathTemplate": "/hangfire/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamPathTemplate": "/hangfire/{everything}", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // 消息通知 + { + "DownstreamPathTemplate": "/api/notifications/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamPathTemplate": "/api/notifications/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // Api文档 + { + "DownstreamPathTemplate": "/swagger/v1/swagger.json", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamPathTemplate": "/messages/v1/swagger.json", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // signalr实时通知 + { + "DownstreamPathTemplate": "/signalr-hubs/messages", + "DownstreamScheme": "ws", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamPathTemplate": "/signalr-hubs/messages", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE", + "OPTIONS" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": {}, + "DangerousAcceptAnyServerCertificateValidator": true, + "RouteIsCaseSensitive": false, + "Priority": 99 + }, + { + "DownstreamPathTemplate": "/signalr-hubs/notifications", + "DownstreamScheme": "ws", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamPathTemplate": "/signalr-hubs/notifications", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE", + "OPTIONS" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": {}, + "DangerousAcceptAnyServerCertificateValidator": true, + "RouteIsCaseSensitive": false, + "Priority": 99 + }, + { + "DownstreamPathTemplate": "/signalr-hubs/{everything}", + "DownstreamScheme": "ws", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamPathTemplate": "/signalr-hubs/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE", + "OPTIONS" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": {}, + "DangerousAcceptAnyServerCertificateValidator": true, + "RouteIsCaseSensitive": false + } + ] +} \ No newline at end of file diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.platform.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.platform.json similarity index 78% rename from gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.platform.json rename to gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.platform.json index 495ceb672..bf040d8c9 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.platform.json +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.platform.json @@ -1,314 +1,303 @@ -{ - "Routes": [ - // ��ܶ˵� - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/abp/platform/application-configuration", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "platform-configuration" - }, - // ��ܶ�̬API�˵� - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/abp/platform/api-definition", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "platform-api-definition" - }, - // ����洢 - { - "DownstreamPathTemplate": "/api/oss-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/oss-management/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // ƽ̨���� - { - "DownstreamPathTemplate": "/api/platform/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/platform/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // �ļ����� - { - "DownstreamPathTemplate": "/api/files/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/files/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/files/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/api/files/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/task-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30040 - } - ], - "UpstreamPathTemplate": "/api/task-management/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - // ����洢�⻧���� - { - "DownstreamPathTemplate": "/api/setting-management/oss-management/by-current-tenant", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/setting-management/oss-management/by-current-tenant", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "oss-management-setting-current-tenant" - }, - // ����洢ȫ������ - { - "DownstreamPathTemplate": "/api/setting-management/oss-management/by-global", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/setting-management/oss-management/by-global", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "oss-management-setting-global" - }, - // API �ĵ� - { - "DownstreamPathTemplate": "/swagger/v1/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/platform/v1/swagger.json", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - } - ] -} +{ + "Routes": [ + // 框架端点 + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamPathTemplate": "/api/abp/platform/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "platform-configuration" + }, + // 框架动态API端点 + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamPathTemplate": "/api/abp/platform/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "platform-api-definition" + }, + // oss存储 + { + "DownstreamPathTemplate": "/api/oss-management/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamPathTemplate": "/api/oss-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // 平台管理 + { + "DownstreamPathTemplate": "/api/platform/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamPathTemplate": "/api/platform/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // 文件管理 + { + "DownstreamPathTemplate": "/api/files/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamPathTemplate": "/api/files/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + { + "DownstreamPathTemplate": "/api/files/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamPathTemplate": "/api/api/files/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + }, + // oss管理 + { + "DownstreamPathTemplate": "/api/setting-management/oss-management/by-current-tenant", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamPathTemplate": "/api/setting-management/oss-management/by-current-tenant", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "oss-management-setting-current-tenant" + }, + { + "DownstreamPathTemplate": "/api/setting-management/oss-management/by-global", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamPathTemplate": "/api/setting-management/oss-management/by-global", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "oss-management-setting-global" + }, + // Api文档 + { + "DownstreamPathTemplate": "/swagger/v1/swagger.json", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamPathTemplate": "/platform/v1/swagger.json", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + } + ] +} \ No newline at end of file diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.task.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.task.json similarity index 86% rename from gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.task.json rename to gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.task.json index defae3d65..7fa47381c 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.task.json +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.task.json @@ -1,87 +1,96 @@ -{ - "Routes": [ - // ܶ˵ - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30040 - } - ], - "UpstreamPathTemplate": "/api/abp/task/application-configuration", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "task-configuration" - }, - // ̬ܶAPI˵ - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30040 - } - ], - "UpstreamPathTemplate": "/api/abp/task/api-definition", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "task-api-definition" - }, - // - { - "DownstreamPathTemplate": "/api/task-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30040 - } - ], - "UpstreamPathTemplate": "/api/task-management/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - } - ] -} +{ + "Routes": [ + // 框架端点 + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30040 + } + ], + "UpstreamPathTemplate": "/api/abp/task/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "task-configuration" + }, + // 框架动态API端点 + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30040 + } + ], + "UpstreamPathTemplate": "/api/abp/task/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "task-api-definition" + }, + // 任务管理 + { + "DownstreamPathTemplate": "/api/task-management/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30040 + } + ], + "UpstreamPathTemplate": "/api/task-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1, + "Limit": 100 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + } + ] +} \ No newline at end of file diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.webhook.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.webhook.json similarity index 76% rename from gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.webhook.json rename to gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.webhook.json index d370c8b3c..b1394a7e7 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.webhook.json +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/OcelotConfig/ocelot.webhook.json @@ -1,59 +1,62 @@ -{ - "Routes": [ - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30045 - } - ], - "UpstreamPathTemplate": "/api/abp/webhook/api-definition", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "webhook-api-definition" - }, - { - "DownstreamPathTemplate": "/api/webhooks/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30045 - } - ], - "UpstreamPathTemplate": "/api/webhooks/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 5 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - } - ] -} +{ + "Routes": [ + // 框架动态API端点 + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30045 + } + ], + "UpstreamPathTemplate": "/api/abp/webhook/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "HttpHandlerOptions": { + "UseTracing": true + }, + "Key": "webhook-api-definition" + }, + // webhooks + { + "DownstreamPathTemplate": "/api/webhooks/{everything}", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30045 + } + ], + "UpstreamPathTemplate": "/api/webhooks/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "LoadBalancerOptions": { + "Type": "RoundRobin" + }, + "RateLimitOptions": {}, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 30000 + }, + "HttpHandlerOptions": { + "UseTracing": true + } + } + ] +} \ No newline at end of file diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/Program.cs b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/Program.cs index 612d86db5..2efd8bda1 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/Program.cs +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/Program.cs @@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Ocelot.DependencyInjection; using Serilog; using System; using System.IO; @@ -25,11 +26,13 @@ public class Program .UseAutofac() .ConfigureAppConfiguration((context, config) => { - // 加入 ocelot配置文件 - config.AddJsonFile( - $"ocelot.{context.HostingEnvironment.EnvironmentName ?? "Development"}.json", - optional: true, - reloadOnChange: true); + //// 加入 ocelot配置文件 + //config.AddJsonFile( + //$"ocelot.{context.HostingEnvironment.EnvironmentName ?? "Development"}.json", + //optional: true, + //reloadOnChange: true); + + config.AddAutoOcelotConfig("OcelotConfig", builder.Environment); var configuration = config.Build(); if (configuration.GetSection("AgileConfig").Exists()) diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.Development.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.Development.json deleted file mode 100644 index 6e0628daf..000000000 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.Development.json +++ /dev/null @@ -1,1895 +0,0 @@ -{ - "GlobalConfiguration": { - "BaseUrl": "http://localhost:30000", - "DownstreamScheme": "HTTP", - "HttpHandlerOptions": { - "UseTracing": true - }, - "RateLimitOptions": { - "DisableRateLimitHeaders": false, - "ClientIdHeader": "ClientId", - "RateLimitCounterPrefix": "ocelot", - "QuotaExceededMessage": "您的操作过快,请稍后再试!", - "HttpStatusCode": 429 - }, - "QoSOptions": { - "TimeoutValue": 30000, - "DurationOfBreak": 60000, - "ExceptionsAllowedBeforeBreaking": 30 - }, - "LoadBalancerOptions": { - "Type": "RoundRobin" - } - }, - "Routes": [ - { - "DownstreamPathTemplate": "/.well-known/openid-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 44385 - } - ], - "UpstreamPathTemplate": "/.well-known/openid-configuration", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/connect/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 44385 - } - ], - "UpstreamPathTemplate": "/connect/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/abp/backend-admin/application-configuration", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "backend-admin-configuration" - }, - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/abp/backend-admin/api-definition", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "backend-admin-api-definition" - }, - { - "DownstreamPathTemplate": "/api/abp/multi-tenancy/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/abp/multi-tenancy/{everything}", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/tenant-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/tenant-management/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/permission-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/permission-management/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/setting-management/settings/by-current-tenant", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/settings/by-current-tenant/app", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "setting-current-tenant" - }, - { - "DownstreamPathTemplate": "/api/setting-management/settings/by-current-user", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/settings/by-current-user/app", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "setting-current-user" - }, - { - "DownstreamPathTemplate": "/api/setting-management/settings/by-global", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/settings/by-global/app", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "setting-global" - }, - { - "DownstreamPathTemplate": "/api/setting-management/wechat/by-current-tenant", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/wechat/by-current-tenant", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "wechat-setting-current-tenant" - }, - { - "DownstreamPathTemplate": "/api/setting-management/wechat/by-global", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/wechat/by-global", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "wechat-setting-global" - }, - { - "DownstreamPathTemplate": "/api/setting-management/tencent-cloud/by-current-tenant", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/tencent-cloud/by-current-tenant", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "tencent-cloud-setting-current-tenant" - }, - { - "DownstreamPathTemplate": "/api/setting-management/tencent-cloud/by-global", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/tencent-cloud/by-global", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "tencent-cloud-setting-global" - }, - { - "DownstreamPathTemplate": "/api/setting-management/aliyun/by-current-tenant", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/aliyun/by-current-tenant", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "aliyun-setting-current-tenant" - }, - { - "DownstreamPathTemplate": "/api/setting-management/aliyun/by-global", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/aliyun/by-global", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "aliyun-setting-global" - }, - { - "DownstreamPathTemplate": "/api/setting-management/settings/change-global", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/settings/change-global", - "UpstreamHttpMethod": [ "PUT" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/setting-management/settings/change-current-tenant", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/settings/change-current-tenant", - "UpstreamHttpMethod": [ "PUT" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/setting-management/settings/change-current-user", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/setting-management/settings/change-current-user", - "UpstreamHttpMethod": [ "PUT" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/feature-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/feature-management/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/saas/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/saas/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/auditing/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/auditing/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/swagger/v1/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/admin/v1/swagger.json", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/api/abp/ids-admin/application-configuration", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "ids-admin-configuration" - }, - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/api/abp/ids-admin/api-definition", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "ids-admin-api-definition" - }, - { - "DownstreamPathTemplate": "/api/identity/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/api/identity/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/identity-server/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/api/identity-server/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/account/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/api/account/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/swagger/v1/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30015 - } - ], - "UpstreamPathTemplate": "/ids-admin/v1/swagger.json", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30030 - } - ], - "UpstreamPathTemplate": "/api/abp/localization/application-configuration", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "localization-configuration" - }, - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30030 - } - ], - "UpstreamPathTemplate": "/api/abp/localization/api-definition", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "localization-api-definition" - }, - { - "DownstreamPathTemplate": "/api/abp/localization/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/abp/localization/{everything}", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/localization/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30030 - } - ], - "UpstreamPathTemplate": "/api/localization/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/swagger/v1/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30030 - } - ], - "UpstreamPathTemplate": "/localization/v1/swagger.json", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/abp/messages/application-configuration", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "messages-configuration" - }, - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/abp/messages/api-definition", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "messages-api-definition" - }, - { - "DownstreamPathTemplate": "/api/im/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/im/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/hangfire/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/hangfire/{everything}", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/notifications/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/api/notifications/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/swagger/v1/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/messages/v1/swagger.json", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/abp/platform/application-configuration", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "platform-configuration" - }, - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/abp/platform/api-definition", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "platform-api-definition" - }, - { - "DownstreamPathTemplate": "/api/oss-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/oss-management/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/platform/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/platform/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/files/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/files/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/files/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/api/files/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/setting-management/oss-management/by-current-tenant", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/setting-management/oss-management/by-current-tenant", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "oss-management-setting-current-tenant" - }, - { - "DownstreamPathTemplate": "/api/setting-management/oss-management/by-global", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/api/setting-management/oss-management/by-global", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "oss-management-setting-global" - }, - { - "DownstreamPathTemplate": "/swagger/v1/swagger.json", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30025 - } - ], - "UpstreamPathTemplate": "/platform/v1/swagger.json", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/signalr-hubs/messages", - "DownstreamScheme": "ws", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/signalr-hubs/messages", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE", "OPTIONS" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": {}, - "DangerousAcceptAnyServerCertificateValidator": true, - "RouteIsCaseSensitive": false, - "Priority": 99 - }, - { - "DownstreamPathTemplate": "/signalr-hubs/notifications", - "DownstreamScheme": "ws", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/signalr-hubs/notifications", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE", "OPTIONS" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": {}, - "DangerousAcceptAnyServerCertificateValidator": true, - "RouteIsCaseSensitive": false, - "Priority": 99 - }, - { - "DownstreamPathTemplate": "/signalr-hubs/{everything}", - "DownstreamScheme": "ws", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30020 - } - ], - "UpstreamPathTemplate": "/signalr-hubs/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE", "OPTIONS" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": {}, - "DangerousAcceptAnyServerCertificateValidator": true, - "RouteIsCaseSensitive": false - }, - { - "DownstreamPathTemplate": "/api/abp/application-configuration", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30040 - } - ], - "UpstreamPathTemplate": "/api/abp/task/application-configuration", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "task-configuration" - }, - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30040 - } - ], - "UpstreamPathTemplate": "/api/abp/task/api-definition", - "UpstreamHttpMethod": [ "GET" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "task-api-definition" - }, - { - "DownstreamPathTemplate": "/api/task-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30040 - } - ], - "UpstreamPathTemplate": "/api/task-management/{everything}", - "UpstreamHttpMethod": [ - "GET", - "POST", - "PUT", - "DELETE" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": { - "ClientWhitelist": [], - "EnableRateLimiting": true, - "Period": "1s", - "PeriodTimespan": 1, - "Limit": 100 - }, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/abp/api-definition", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30045 - } - ], - "UpstreamPathTemplate": "/api/abp/webhook/api-definition", - "UpstreamHttpMethod": [ - "GET" - ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 10000 - }, - "HttpHandlerOptions": { - "UseTracing": true - }, - "Key": "webhook-api-definition" - }, - { - "DownstreamPathTemplate": "/api/webhooks/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30045 - } - ], - "UpstreamPathTemplate": "/api/webhooks/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 30000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/text-templating/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/text-templating/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 30000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - }, - { - "DownstreamPathTemplate": "/api/caching-management/{everything}", - "DownstreamScheme": "http", - "DownstreamHostAndPorts": [ - { - "Host": "127.0.0.1", - "Port": 30010 - } - ], - "UpstreamPathTemplate": "/api/caching-management/{everything}", - "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE" ], - "LoadBalancerOptions": { - "Type": "RoundRobin" - }, - "RateLimitOptions": {}, - "QoSOptions": { - "ExceptionsAllowedBeforeBreaking": 10, - "DurationOfBreak": 1000, - "TimeoutValue": 30000 - }, - "HttpHandlerOptions": { - "UseTracing": true - } - } - ], - "Aggregates": [ - { - "RouteKeys": [ - "platform-api-definition", - "backend-admin-api-definition", - "messages-api-definition", - "ids-admin-api-definition", - "localization-api-definition", - "task-api-definition", - "webhook-api-definition" - ], - "UpstreamPathTemplate": "/api/abp/api-definition", - "Aggregator": "AbpResponseMergeAggregator" - }, - { - "RouteKeys": [ - "platform-configuration", - "backend-admin-configuration", - "messages-configuration", - "ids-admin-configuration", - "localization-configuration", - "task-configuration" - ], - "UpstreamPathTemplate": "/api/abp/application-configuration", - "Aggregator": "AbpResponseMergeAggregator", - "Priority": 99 - }, - { - "RouteKeys": [ - "setting-global", - "wechat-setting-global", - "tencent-cloud-setting-global", - "aliyun-setting-global", - "oss-management-setting-global" - ], - "UpstreamPathTemplate": "/api/setting-management/settings/by-global", - "Aggregator": "AbpResponseMergeAggregator", - "Priority": 99 - }, - { - "RouteKeys": [ - "setting-current-tenant", - "wechat-setting-current-tenant", - "tencent-cloud-setting-current-tenant", - "aliyun-setting-current-tenant", - "oss-management-setting-current-tenant" - ], - "UpstreamPathTemplate": "/api/setting-management/settings/by-current-tenant", - "Aggregator": "AbpResponseMergeAggregator", - "Priority": 99 - }, - { - "RouteKeys": [ - "setting-current-user" - ], - "UpstreamPathTemplate": "/api/setting-management/settings/by-current-user", - "Aggregator": "AbpResponseMergeAggregator", - "Priority": 99 - } - ] -} \ No newline at end of file diff --git a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.json b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.json index f3ee419db..fdbe779f5 100644 --- a/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.json +++ b/gateways/internal/LINGYUN.MicroService.Internal.ApiGateway/src/LINGYUN.MicroService.Internal.ApiGateway/ocelot.json @@ -1,2 +1,4349 @@ { -} + "Routes": [ + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "UpstreamPathTemplate": "/api/abp/backend-admin/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "backend-admin-configuration", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "UpstreamPathTemplate": "/api/abp/backend-admin/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "backend-admin-api-definition", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/multi-tenancy/{everything}", + "UpstreamPathTemplate": "/api/abp/multi-tenancy/{everything}", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/tenant-management/{everything}", + "UpstreamPathTemplate": "/api/tenant-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/permission-management/{everything}", + "UpstreamPathTemplate": "/api/permission-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/by-current-tenant", + "UpstreamPathTemplate": "/api/setting-management/settings/by-current-tenant/app", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "setting-current-tenant", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/by-current-user", + "UpstreamPathTemplate": "/api/setting-management/settings/by-current-user/app", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "setting-current-user", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/by-global", + "UpstreamPathTemplate": "/api/setting-management/settings/by-global/app", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "setting-global", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/wechat/by-current-tenant", + "UpstreamPathTemplate": "/api/setting-management/wechat/by-current-tenant", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "wechat-setting-current-tenant", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/wechat/by-global", + "UpstreamPathTemplate": "/api/setting-management/wechat/by-global", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "wechat-setting-global", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/tencent-cloud/by-current-tenant", + "UpstreamPathTemplate": "/api/setting-management/tencent-cloud/by-current-tenant", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "tencent-cloud-setting-current-tenant", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/tencent-cloud/by-global", + "UpstreamPathTemplate": "/api/setting-management/tencent-cloud/by-global", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "tencent-cloud-setting-global", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/aliyun/by-current-tenant", + "UpstreamPathTemplate": "/api/setting-management/aliyun/by-current-tenant", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "aliyun-setting-current-tenant", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/aliyun/by-global", + "UpstreamPathTemplate": "/api/setting-management/aliyun/by-global", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": "aliyun-setting-global", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/change-global", + "UpstreamPathTemplate": "/api/setting-management/settings/change-global", + "UpstreamHttpMethod": [ + "PUT" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/change-current-tenant", + "UpstreamPathTemplate": "/api/setting-management/settings/change-current-tenant", + "UpstreamHttpMethod": [ + "PUT" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/settings/change-current-user", + "UpstreamPathTemplate": "/api/setting-management/settings/change-current-user", + "UpstreamHttpMethod": [ + "PUT" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/{everything}", + "UpstreamPathTemplate": "/api/setting-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 5 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/feature-management/{everything}", + "UpstreamPathTemplate": "/api/feature-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/saas/{everything}", + "UpstreamPathTemplate": "/api/saas/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/auditing/{everything}", + "UpstreamPathTemplate": "/api/auditing/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/text-templating/{everything}", + "UpstreamPathTemplate": "/api/text-templating/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 30000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/caching-management/{everything}", + "UpstreamPathTemplate": "/api/caching-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 30000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/localization/{everything}", + "UpstreamPathTemplate": "/api/abp/localization/{everything}", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/swagger/v1/swagger.json", + "UpstreamPathTemplate": "/admin/v1/swagger.json", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30010 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "UpstreamPathTemplate": "/api/abp/ids-admin/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamHost": null, + "Key": "ids-admin-configuration", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "UpstreamPathTemplate": "/api/abp/ids-admin/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamHost": null, + "Key": "ids-admin-api-definition", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/identity/{everything}", + "UpstreamPathTemplate": "/api/identity/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/identity-server/{everything}", + "UpstreamPathTemplate": "/api/identity-server/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/account/{everything}", + "UpstreamPathTemplate": "/api/account/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/.well-known/openid-configuration", + "UpstreamPathTemplate": "/.well-known/openid-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 44385 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/connect/{everything}", + "UpstreamPathTemplate": "/connect/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 44385 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/swagger/v1/swagger.json", + "UpstreamPathTemplate": "/ids-admin/v1/swagger.json", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30015 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "UpstreamPathTemplate": "/api/abp/localization/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30030 + } + ], + "UpstreamHost": null, + "Key": "localization-configuration", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "UpstreamPathTemplate": "/api/abp/localization/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30030 + } + ], + "UpstreamHost": null, + "Key": "localization-api-definition", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/localization/{everything}", + "UpstreamPathTemplate": "/api/localization/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30030 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/swagger/v1/swagger.json", + "UpstreamPathTemplate": "/localization/v1/swagger.json", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30030 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "UpstreamPathTemplate": "/api/abp/messages/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamHost": null, + "Key": "messages-configuration", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "UpstreamPathTemplate": "/api/abp/messages/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamHost": null, + "Key": "messages-api-definition", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/im/{everything}", + "UpstreamPathTemplate": "/api/im/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/hangfire/{everything}", + "UpstreamPathTemplate": "/hangfire/{everything}", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/notifications/{everything}", + "UpstreamPathTemplate": "/api/notifications/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/swagger/v1/swagger.json", + "UpstreamPathTemplate": "/messages/v1/swagger.json", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/signalr-hubs/messages", + "UpstreamPathTemplate": "/signalr-hubs/messages", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE", + "OPTIONS" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "ws", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": false, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 99, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": true, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/signalr-hubs/notifications", + "UpstreamPathTemplate": "/signalr-hubs/notifications", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE", + "OPTIONS" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "ws", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": false, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 99, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": true, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/signalr-hubs/{everything}", + "UpstreamPathTemplate": "/signalr-hubs/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE", + "OPTIONS" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "ws", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": false, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30020 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": true, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "UpstreamPathTemplate": "/api/abp/platform/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamHost": null, + "Key": "platform-configuration", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "UpstreamPathTemplate": "/api/abp/platform/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamHost": null, + "Key": "platform-api-definition", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/oss-management/{everything}", + "UpstreamPathTemplate": "/api/oss-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/platform/{everything}", + "UpstreamPathTemplate": "/api/platform/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/files/{everything}", + "UpstreamPathTemplate": "/api/files/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/files/{everything}", + "UpstreamPathTemplate": "/api/api/files/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/oss-management/by-current-tenant", + "UpstreamPathTemplate": "/api/setting-management/oss-management/by-current-tenant", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamHost": null, + "Key": "oss-management-setting-current-tenant", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/setting-management/oss-management/by-global", + "UpstreamPathTemplate": "/api/setting-management/oss-management/by-global", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamHost": null, + "Key": "oss-management-setting-global", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/swagger/v1/swagger.json", + "UpstreamPathTemplate": "/platform/v1/swagger.json", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30025 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/application-configuration", + "UpstreamPathTemplate": "/api/abp/task/application-configuration", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30040 + } + ], + "UpstreamHost": null, + "Key": "task-configuration", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "UpstreamPathTemplate": "/api/abp/task/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30040 + } + ], + "UpstreamHost": null, + "Key": "task-api-definition", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/task-management/{everything}", + "UpstreamPathTemplate": "/api/task-management/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": true, + "Period": "1s", + "PeriodTimespan": 1.0, + "Limit": 100 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30040 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/abp/api-definition", + "UpstreamPathTemplate": "/api/abp/webhook/api-definition", + "UpstreamHttpMethod": [ + "GET" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 10000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30045 + } + ], + "UpstreamHost": null, + "Key": "webhook-api-definition", + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + }, + { + "DownstreamPathTemplate": "/api/webhooks/{everything}", + "UpstreamPathTemplate": "/api/webhooks/{everything}", + "UpstreamHttpMethod": [ + "GET", + "POST", + "PUT", + "DELETE" + ], + "DownstreamHttpMethod": null, + "AddHeadersToRequest": {}, + "UpstreamHeaderTransform": {}, + "DownstreamHeaderTransform": {}, + "AddClaimsToRequest": {}, + "RouteClaimsRequirement": {}, + "AddQueriesToRequest": {}, + "ChangeDownstreamPathTemplate": {}, + "RequestIdKey": null, + "FileCacheOptions": { + "TtlSeconds": 0, + "Region": null + }, + "RouteIsCaseSensitive": false, + "ServiceName": null, + "ServiceNamespace": null, + "DownstreamScheme": "http", + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 10, + "DurationOfBreak": 1000, + "TimeoutValue": 30000 + }, + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "RateLimitOptions": { + "ClientWhitelist": [], + "EnableRateLimiting": false, + "Period": null, + "PeriodTimespan": 0.0, + "Limit": 0 + }, + "AuthenticationOptions": { + "AuthenticationProviderKey": null, + "AllowedScopes": [] + }, + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHostAndPorts": [ + { + "Host": "127.0.0.1", + "Port": 30045 + } + ], + "UpstreamHost": null, + "Key": null, + "DelegatingHandlers": [], + "Priority": 1, + "Timeout": 0, + "DangerousAcceptAnyServerCertificateValidator": false, + "SecurityOptions": { + "IPAllowedList": [], + "IPBlockedList": [] + }, + "DownstreamHttpVersion": null + } + ], + "DynamicRoutes": [], + "Aggregates": [ + { + "RouteKeys": [ + "platform-api-definition", + "backend-admin-api-definition", + "messages-api-definition", + "ids-admin-api-definition", + "localization-api-definition", + "task-api-definition", + "webhook-api-definition" + ], + "RouteKeysConfig": null, + "UpstreamPathTemplate": "/api/abp/api-definition", + "UpstreamHost": null, + "RouteIsCaseSensitive": false, + "Aggregator": "AbpResponseMergeAggregator", + "UpstreamHttpMethod": [ + "Get" + ], + "Priority": 1 + }, + { + "RouteKeys": [ + "platform-configuration", + "backend-admin-configuration", + "messages-configuration", + "ids-admin-configuration", + "localization-configuration", + "task-configuration" + ], + "RouteKeysConfig": null, + "UpstreamPathTemplate": "/api/abp/application-configuration", + "UpstreamHost": null, + "RouteIsCaseSensitive": false, + "Aggregator": "AbpResponseMergeAggregator", + "UpstreamHttpMethod": [ + "Get" + ], + "Priority": 99 + }, + { + "RouteKeys": [ + "setting-global", + "wechat-setting-global", + "tencent-cloud-setting-global", + "aliyun-setting-global", + "oss-management-setting-global" + ], + "RouteKeysConfig": null, + "UpstreamPathTemplate": "/api/setting-management/settings/by-global", + "UpstreamHost": null, + "RouteIsCaseSensitive": false, + "Aggregator": "AbpResponseMergeAggregator", + "UpstreamHttpMethod": [ + "Get" + ], + "Priority": 99 + }, + { + "RouteKeys": [ + "setting-current-tenant", + "wechat-setting-current-tenant", + "tencent-cloud-setting-current-tenant", + "aliyun-setting-current-tenant", + "oss-management-setting-current-tenant" + ], + "RouteKeysConfig": null, + "UpstreamPathTemplate": "/api/setting-management/settings/by-current-tenant", + "UpstreamHost": null, + "RouteIsCaseSensitive": false, + "Aggregator": "AbpResponseMergeAggregator", + "UpstreamHttpMethod": [ + "Get" + ], + "Priority": 99 + }, + { + "RouteKeys": [ + "setting-current-user" + ], + "RouteKeysConfig": null, + "UpstreamPathTemplate": "/api/setting-management/settings/by-current-user", + "UpstreamHost": null, + "RouteIsCaseSensitive": false, + "Aggregator": "AbpResponseMergeAggregator", + "UpstreamHttpMethod": [ + "Get" + ], + "Priority": 99 + } + ], + "GlobalConfiguration": { + "RequestIdKey": null, + "ServiceDiscoveryProvider": { + "Scheme": null, + "Host": null, + "Port": 0, + "Type": null, + "Token": null, + "ConfigurationKey": null, + "PollingInterval": 0, + "Namespace": null + }, + "RateLimitOptions": { + "ClientIdHeader": "ClientId", + "QuotaExceededMessage": "您的操作过快,请稍后再试!", + "RateLimitCounterPrefix": "ocelot", + "DisableRateLimitHeaders": false, + "HttpStatusCode": 429 + }, + "QoSOptions": { + "ExceptionsAllowedBeforeBreaking": 30, + "DurationOfBreak": 60000, + "TimeoutValue": 30000 + }, + "BaseUrl": "http://localhost:30000", + "LoadBalancerOptions": { + "Type": "RoundRobin", + "Key": null, + "Expiry": 0 + }, + "DownstreamScheme": "HTTP", + "HttpHandlerOptions": { + "AllowAutoRedirect": false, + "UseCookieContainer": false, + "UseTracing": true, + "UseProxy": true, + "MaxConnectionsPerServer": 2147483647 + }, + "DownstreamHttpVersion": null + } +} \ No newline at end of file diff --git a/starter/70.start-internal-gateway.bat b/starter/70.start-internal-gateway.bat index dfb60d73c..d4d7883bd 100644 --- a/starter/70.start-internal-gateway.bat +++ b/starter/70.start-internal-gateway.bat @@ -1,4 +1,4 @@ @echo off cls cd ..\aspnet-core\ -.\start-internal-gateway.bat \ No newline at end of file +.\start-internal-gateway.bat --watchrun \ No newline at end of file