asp.net 核心 2.2 brotli 压缩无法在 IIS 上运行?
asp.net core 2.2 brotli compression not working on IIS?
我阅读了 Asp.Net Core 2.2 文档,brotli compression is added to 2.2。
我的 Startup.cs
中有 app.UseResponseCompression();
和 services.AddResponseCompression();
,但是当我使用最新的 Chrome 浏览器在我的系统上尝试时,我在响应时只看到 gzip 压缩 headers。我在 Windows Server 2012 IIS Web 服务器上托管我的 Asp.Net Core 2.2 应用程序。
我应该配置什么才能使 brotli 压缩正常工作?
如果您在 IIS 中托管,则意味着 IIS 是与浏览器通信的网络服务器。它位于您的 ASP.NET 核心应用程序前面并代理所有请求和响应,但默认情况下不支持 Brotli。
您需要使用 IIS 配置响应压缩。有一个扩展可用于添加 Brotli 和 Zlib 支持:https://docs.microsoft.com/en-us/iis/extensions/iis-compression/iis-compression-overview
您还可以 运行 您的 ASP.NET 没有 IIS 的核心应用程序。
您提到您的应用程序托管在 IIS 中,它在您附加的 link 中说
Use Response Compression Middleware when you're unable to use IIS
Dynamic Compression Module
因此,如果您使用 IIS,则可以删除该中间件并使用开箱即用的 IIS 压缩模块。
您需要采取的步骤是:
- 在您的网络服务器上安装 brotli - 只需按照此处的说明进行操作
https://docs.microsoft.com/en-us/iis/extensions/iis-compression/iis-compression-overview#installing-iis-compression%5D
- 删除压缩中间件
- 在你的 applicationHost.conf 上确保
brotli
存在于 gzip
下
- 注释掉
applicationHost.conf
中的gzip
选项,因为98%的浏览器都支持brotli
压缩,在旧版本的IIS中选择gzip
而不是brotli
因为 Request Header
中的顺序(例如 gzip deflate br
)。
我阅读了 Asp.Net Core 2.2 文档,brotli compression is added to 2.2。
我的 Startup.cs
中有 app.UseResponseCompression();
和 services.AddResponseCompression();
,但是当我使用最新的 Chrome 浏览器在我的系统上尝试时,我在响应时只看到 gzip 压缩 headers。我在 Windows Server 2012 IIS Web 服务器上托管我的 Asp.Net Core 2.2 应用程序。
我应该配置什么才能使 brotli 压缩正常工作?
如果您在 IIS 中托管,则意味着 IIS 是与浏览器通信的网络服务器。它位于您的 ASP.NET 核心应用程序前面并代理所有请求和响应,但默认情况下不支持 Brotli。
您需要使用 IIS 配置响应压缩。有一个扩展可用于添加 Brotli 和 Zlib 支持:https://docs.microsoft.com/en-us/iis/extensions/iis-compression/iis-compression-overview
您还可以 运行 您的 ASP.NET 没有 IIS 的核心应用程序。
您提到您的应用程序托管在 IIS 中,它在您附加的 link 中说
Use Response Compression Middleware when you're unable to use IIS Dynamic Compression Module
因此,如果您使用 IIS,则可以删除该中间件并使用开箱即用的 IIS 压缩模块。
您需要采取的步骤是:
- 在您的网络服务器上安装 brotli - 只需按照此处的说明进行操作 https://docs.microsoft.com/en-us/iis/extensions/iis-compression/iis-compression-overview#installing-iis-compression%5D
- 删除压缩中间件
- 在你的 applicationHost.conf 上确保
brotli
存在于gzip
下
- 注释掉
applicationHost.conf
中的gzip
选项,因为98%的浏览器都支持brotli
压缩,在旧版本的IIS中选择gzip
而不是brotli
因为Request Header
中的顺序(例如gzip deflate br
)。