|
|
@@ -18,6 +18,7 @@ using Microsoft.AspNetCore.Builder;
|
|
|
using Microsoft.AspNetCore.Hosting;
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
using Microsoft.AspNetCore.HttpOverrides;
|
|
|
+using Microsoft.AspNetCore.ResponseCompression;
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
using Microsoft.Extensions.Hosting;
|
|
|
using Newtonsoft.Json;
|
|
|
@@ -25,7 +26,7 @@ using OnceMi.AspNetCore.OSS;
|
|
|
using SixLabors.ImageSharp.Web.DependencyInjection;
|
|
|
using System;
|
|
|
using System.Threading.Tasks;
|
|
|
-
|
|
|
+using System.Linq;
|
|
|
namespace Admin.NET.Web.Core;
|
|
|
|
|
|
public class Startup : AppStartup
|
|
|
@@ -201,10 +202,37 @@ public class Startup : AppStartup
|
|
|
// 设置默认查询器China和International
|
|
|
//IpToolSettings.DefalutSearcherType = IpSearcherType.China;
|
|
|
IpToolSettings.DefalutSearcherType = IpSearcherType.International;
|
|
|
+ // 第一步: 配置gzip与br的压缩等级为最优
|
|
|
+ //services.Configure<BrotliCompressionProviderOptions>(options =>
|
|
|
+ //{
|
|
|
+ // options.Level = CompressionLevel.Optimal;
|
|
|
+ //});
|
|
|
+ //services.Configure<GzipCompressionProviderOptions>(options =>
|
|
|
+ //{
|
|
|
+ // options.Level = CompressionLevel.Optimal;
|
|
|
+ //});
|
|
|
+ //注册压缩响应
|
|
|
+ services.AddResponseCompression((options) =>
|
|
|
+ {
|
|
|
+ options.EnableForHttps = true;
|
|
|
+ options.Providers.Add<BrotliCompressionProvider>();
|
|
|
+ options.Providers.Add<GzipCompressionProvider>();
|
|
|
+ // 指定压缩的大小阈值,这里设置为1024字节
|
|
|
+ // 扩展一些类型 (MimeTypes中有一些基本的类型,可以打断点看看)
|
|
|
+ options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[]
|
|
|
+ {
|
|
|
+ "text/html; charset=utf-8",
|
|
|
+ "application/xhtml+xml",
|
|
|
+ "application/atom+xml",
|
|
|
+ "image/svg+xml"
|
|
|
+ });
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
|
|
{
|
|
|
+ // 响应压缩
|
|
|
+ app.UseResponseCompression();
|
|
|
app.UseForwardedHeaders();
|
|
|
|
|
|
if (env.IsDevelopment())
|