你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

排除 Azure 内容分发网络文件压缩故障

重要

Microsoft Azure CDN Standard(经典版)将于 2027 年 9 月 30 日停用。 为了避免出现服务中断,请务必在 2027 年 9 月 30 日之前将 Microsoft 的 Azure CDN 标准层(经典版)配置文件迁移到 Azure Front Door 标准层或高级层。 有关详细信息,请参阅 Microsoft Azure CDN Standard(经典版)停用

Edgio 的 Azure CDN 已于 2025 年 1 月 15 日停用。 有关详细信息,请参阅 Edgio 的 Azure CDN 停用常见问题解答

本文将帮助你排查 CDN 文件压缩问题。

如果在本文中有任何需要协助的地方,可以联系 MSDN Azure 和堆栈溢出论坛上的 Azure 专家。 或者,也可以提交 Azure 支持事件。 请转到 Azure 支持站点并选择“获取支持”。

症状

已经为终结点启用了压缩,但返回的文件没有压缩。

提示

要检查返回的文件是否已压缩,需要使用 Fiddler 等工具或浏览器的开发人员工具。 检查使用缓存的内容分发网络内容返回的 HTTP 响应标头。 如果存在名为 Content-Encoding 的标头,且其值为 gzip、bzip2、brotli 或 deflate,则内容已压缩。

Content-Encoding 标头

原因

有若干个可能的原因,包括:

  • 所请求的内容不适合压缩。
  • 请求的文件类型未启用压缩。
  • HTTP 请求没有包含请求有效压缩类型的标头。
  • 源正在发送分块内容。

疑难解答步骤

提示

与部署新的终结点一样,内容分发网络配置更改也需要一些时间才能传播到整个网络。 通常情况下会在 90 分钟内应用更改。 如果这是首次为内容分发网络终结点设置压缩,应考虑等待 1-2 个小时,以确保压缩设置传播到 POP。

验证请求

首先,应该对请求进行一次快速的完整性检查。 可以使用浏览器的开发人员工具来查看正在提出的请求。

  • 验证是否将请求发送到终结点 URL,<endpointname>.azureedge.net,而不是源。
  • 验证该请求包含 Accept-encoding 标头,并且该标头的值包含 gzip、deflate、brotli 或 bzip2。

CDN 请求标头

验证压缩设置

Azure 门户中导航到终结点,然后选择“配置”按钮。

  • 验证是否已启用压缩。
  • 验证待压缩内容的 MIME 类型是否已包括在压缩格式列表中。

在源服务器上检查请求是否包含 Via 标头

Via HTTP 标头指明了由代理服务器正在将请求传递到的 web 服务器。 默认情况下,当请求包含 Via 标头时,Microsoft IIS Web 服务器不会压缩响应。 要覆盖此行为,请执行以下操作: