使用入门

本页面可帮助您开始使用 Cloud CDN 图片优化功能,其中介绍了如何配置图片优化功能,并列出了支持的操作及示例。

前提条件

如需使 Cloud CDN 图片优化功能正常运行,请确保满足以下前提条件:

  • 必须在网址路由或关联的后端服务/存储桶中启用 Cloud CDN 缓存政策,并且必须在该网址映射路由中启用图片优化功能。

  • 仅全球外部应用负载平衡器支持图片优化,传统应用负载平衡器不支持。

  • 客户端请求必须包含一个 Accept 标头,指明它可以接收图片内容,例如 image/webpimage/avifimage/**/*

  • 源服务器必须使用 HTTP 200 状态代码和受支持的图片 Content-Type 标头进行响应。

  • 网址中必须包含 imop 查询参数,并且该参数必须包含一个或多个有效的转换操作。

配置图片优化

图片优化功能需要启用有效的缓存。请确保您至少配置了以下一项:

  • 基于后端的缓存:确保后端已选中启用 Cloud CDN

  • 网址映射级缓存:确保在您计划启用图片优化的特定路径的网址映射级配置缓存政策。

gcloud

您必须向 YAML 文件添加配置,并将其导入到网址映射中,因为图片优化政策是在 routeAction 对象内定义的。

将现有网址映射配置导出到本地 YAML 文件:

gcloud beta compute url-maps export YOUR_URL_MAP_NAME \
    --global \
    --destination my-url-map.yaml

在文本编辑器中修改 my-url-map.yaml 文件,并将 imageOptimizationPolicy 字段添加到所选的 routeActiondefaultRouteAction 部分。

name: image-matcher
routeRules:
  - description: ImageOptimizationService
    matchRules:
      - prefixMatch: /images/
    priority: 1
    routeAction:
      imageOptimizationPolicy:
        queryParameterInterpretation: ENABLED

导入更新后的网址映射

gcloud beta compute url-maps import YOUR_URL_MAP_NAME \
    --global \
    --source my-url-map.yaml

控制台

  1. 在 Google Cloud 控制台中,前往负载均衡页面。

    转到“负载平衡”页面

  2. 点击全球外部应用负载平衡器的名称。
  3. 点击修改
  4. 前往后端配置标签页。
  5. 配置缓存:图片优化需要启用缓存才能成功保存。选择并配置以下任一选项,以便图片优化功能正常运行。
    • 基于后端:确保在后端服务配置中选中启用 Cloud CDN
    • 网址映射级层
      1. 前往路由规则,然后选择高级主机和路径规则
      2. 在启用图片优化的路由上,于网址映射级层定义缓存政策。

根据您的路由架构,选择以下路由规则之一:

如需使用默认路由规则,请执行以下操作

  1. 主机和路径规则部分,在操作下,选择将流量路由到单个后端模式,然后从列表中选择一个后端。
  2. 展开图片优化部分(默认处于收起状态)。
  3. 选中启用图片优化复选框。

如需使用自定义路由规则,请执行以下操作

  1. 主机和路径规则部分,选择添加主机和路径规则
  2. 主机字段中,输入 * 以匹配所有主机名。
  3. 路径匹配器部分中,使用 YAML 编辑器定义您的配置。
  4. 点击 YAML 编辑器下方的代码指南,获取有关代码的指导。
  5. 复制该代码段并将其粘贴到 YAML 编辑器中。
  6. 更新占位值。

检查配置

  1. 检查您的配置。
  2. 点击完成以关闭子编辑器。
  3. 点击更新以保存您的配置。

支持的图片格式

Cloud CDN 图片优化支持源服务器提供的各种输入格式。虽然大多数格式都可用于处理和输出,但有些格式仅限输入,不能用作目标输出格式。

您的源服务器支持以下图片格式:

格式 Content-Type 标头 输入/输出 使用场景
gif image/gif 输入和输出 标准动画/静态格式。可以使用 Freeze 操作提取动画帧。
png image/png 输入和输出 无损格式,非常适合透明背景的图片、徽标和数字艺术作品。
webp image/webp 输入和输出 现代的、经过网络优化的格式,同时支持有损压缩和无损压缩。
jpeg image/jpeg 输入和输出 标准照片格式。
brunsli image/x-j 输入和输出 高效无损 JPEG 重新打包格式。
tiff image/tiff 输入和输出 基于标记的高质量光栅格式。
avif image/avif 输入和输出 高效率的新一代图片格式。
bmp image/bmp 仅限输入 无法指定为输出格式。使用 ?imop=Convert,format=webp 转换为 WEBP 或 JPEG。
ico text/icoimage/icoimage/iconapplication/icoimage/x-iconimage/vnd.microsoft.icon 仅限输入 图标容器格式。无法导出;请转换为支持的输出格式以进行交付。
jp2k image/jp2 仅限输入 JPEG 2000 格式。必须使用 Convert 操作进行显式转换。
heif image/heif 仅限输入 高效率图片格式。必须先转换,然后才能进行边缘交付。

图片转换网址

如需执行动态图片转换,请将 imop 查询参数添加到图片网址。此形参包含一个转换字符串,该字符串由按顺序应用的一个或多个操作组成。

转换字符串使用以下格式规则:

  • 使用分号 (;) 分隔每项单独的操作。
  • 使用英文逗号 (,) 分隔每个操作中的内部参数。
  • 单个查询字符串中只能包含一种给定类型的操作。

基准语法使用以下结构:

?imop=[OPERATION_1];[OPERATION_2];...[OPERATION_N]

如需同时对图片执行多项操作,请将链式参数字符串附加到图片网址。例如,如需将图片调整为 800 像素宽,将压缩质量设置为 85,并将格式转换为 WebP,请附加参数字符串。

例如,

https://www.example.com/image.jpg?imop=Resize,width=800;Compress,quality=85;Convert,format=webp;

政策结构

图片优化政策充当核心配置封装容器,其中包含与图片优化功能相关的所有属性。

名称

说明

配置

queryParameterInterpretation

用于确定是否在数据平面中解读图片优化查询参数的枚举值。

必需。如果设置为 DISABLED,政策将忽略用于转换的查询参数,从而有效停用此功能。如果设置为 ENABLED,此功能将处于启用状态。

政策依赖关系和验证

图片优化政策依赖于 Cloud CDN 缓存。如需使用此功能,必须在以下两个位置之一明确设置缓存政策

  • 正在配置图片优化政策的网址映射路由。

  • 与相应确切路由相关的后端服务或后端存储桶。

图片优化政策会严格与有效的底层缓存政策结合使用。

图片优化排序规则

imop 查询参数中列出的操作会从左到右依次处理,但以下绝对系统替换除外:

  • 元数据缩放操作始终先执行。
  • 画布操作始终最后执行。

所有输入素材资源在执行这些转换之前都会经过自动归一化处理。EXIF 方向标记和 ICC 颜色配置文件会直接应用于图像像素,然后才会剥离任何元数据,从而确保坐标完整性在后续结构性操作中保持准确。

后续步骤