我正在使用指向我的 Azure 云服务的 Azure CDN。我已经为 JS 和 CSS 文件启用了捆绑,并且在 BundleConfig 中设置了 bundles.UseCdn = true
。
一切工作正常,除了通过 CDN 返回的 JS 和 CSS bundle 未压缩。 如果我不使用 CDN,则 bundle 会以压缩形式返回(我可以看到内容编码是 gzip)。
我已在 CDN 上启用压缩,如下图所示:
在我的 ASP.net MVC web.config 中也启用了压缩,如下所示:
<urlCompression doStaticCompression="true" doDynamicCompression="true" />
<httpCompression>
<dynamicTypes>
<clear/>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="text/javascript" enabled="true" />
<add mimeType="text/css" enabled="true" />
<add mimeType="application/json" enabled="true" />
<!-- HERE -->
<add mimeType="image/svg+xml" enabled="true" />
<add mimeType="image/png" enabled="true" />
<add mimeType="image/jpg" enabled="true" />
<add mimeType="image/jpeg" enabled="true" />
<add mimeType="application/font-woff2" enabled="true" />
<add mimeType="application/x-font-ttf" enabled="true" />
<add mimeType="application/octet-stream" enabled="true" />
<!-- HERE -->
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<clear/>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="text/javascript" enabled="true" />
<add mimeType="text/css" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<!-- HERE -->
<add mimeType="image/png" enabled="true" />
<add mimeType="image/jpg" enabled="true" />
<add mimeType="image/jpeg" enabled="true" />
<add mimeType="application/font-woff2" enabled="true" />
<add mimeType="application/x-font-ttf" enabled="true" />
<add mimeType="application/octet-stream" enabled="true" />
<!-- HERE -->
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
有趣的是,对于相同的 CDN 配置文件(但其他端点),图片确实具有内容编码:gzip,因此看来压缩在 CDN 上也能正常工作。
This SO answer建议添加某物。就像 CDN URL 末尾的 &group=smth.js
一样,但这没有帮助。
那我做错了什么?
最佳答案
根据您的描述,我创建了 MVC Web 应用程序来检查此问题,但没有在 web.config
文件下配置 urlCompression
。
如果没有 Azure CDN,css/javascript 将会被压缩。
为了测试,我只是通过 Azure CDN CDN 我的整个 Web 应用程序,如下所示:
注意:默认情况下启用压缩,并且压缩格式为默认设置。
然后,访问 css/javascript 链接,它们将按预期压缩。
关于c# - Azure CDN + Asp.net MVC 云服务压缩 bundle 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46754806/