本页面可帮助您开始使用 Cloud CDN 图片优化功能,其中介绍了如何配置图片优化功能,并列出了支持的操作及示例。
前提条件
如需使 Cloud CDN 图片优化功能正常运行,请确保满足以下前提条件:
必须在网址路由或关联的后端服务/存储桶中启用 Cloud CDN 缓存政策,并且必须在该网址映射路由中启用图片优化功能。
仅全球外部应用负载平衡器支持图片优化,传统应用负载平衡器不支持。
客户端请求必须包含一个 Accept 标头,指明它可以接收图片内容,例如
image/webp、image/avif、image/*或*/*。源服务器必须使用
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 字段添加到所选的 routeAction 或 defaultRouteAction 部分。
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
控制台
- 在 Google Cloud 控制台中,前往负载均衡页面。
- 点击全球外部应用负载平衡器的名称。
- 点击修改 。
- 前往后端配置标签页。
- 配置缓存:图片优化需要启用缓存才能成功保存。选择并配置以下任一选项,以便图片优化功能正常运行。
- 基于后端:确保在后端服务配置中选中启用 Cloud CDN。
- 网址映射级层:
- 前往路由规则,然后选择高级主机和路径规则。
- 在启用图片优化的路由上,于网址映射级层定义缓存政策。
根据您的路由架构,选择以下路由规则之一:
如需使用默认路由规则,请执行以下操作:
- 在主机和路径规则部分,在操作下,选择将流量路由到单个后端模式,然后从列表中选择一个后端。
- 展开图片优化部分(默认处于收起状态)。
- 选中启用图片优化复选框。
如需使用自定义路由规则,请执行以下操作:
- 在主机和路径规则部分,选择添加主机和路径规则。
- 在主机字段中,输入 * 以匹配所有主机名。
- 在路径匹配器部分中,使用 YAML 编辑器定义您的配置。
- 点击 YAML 编辑器下方的代码指南,获取有关代码的指导。
- 复制该代码段并将其粘贴到 YAML 编辑器中。
- 更新占位值。
检查配置
- 检查您的配置。
- 点击完成以关闭子编辑器。
- 点击更新以保存您的配置。
支持的图片格式
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/ico、image/ico、image/icon、application/ico、image/x-icon、image/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;政策结构
图片优化政策充当核心配置封装容器,其中包含与图片优化功能相关的所有属性。
名称 |
说明 |
配置 |
|---|---|---|
|
用于确定是否在数据平面中解读图片优化查询参数的枚举值。 |
必需。如果设置为 DISABLED,政策将忽略用于转换的查询参数,从而有效停用此功能。如果设置为 ENABLED,此功能将处于启用状态。 |
政策依赖关系和验证
图片优化政策依赖于 Cloud CDN 缓存。如需使用此功能,必须在以下两个位置之一明确设置缓存政策:
正在配置图片优化政策的网址映射路由。
与相应确切路由相关的后端服务或后端存储桶。
图片优化政策会严格与有效的底层缓存政策结合使用。
图片优化排序规则
imop 查询参数中列出的操作会从左到右依次处理,但以下绝对系统替换除外:
- 元数据和缩放操作始终先执行。
- 画布操作始终最后执行。
所有输入素材资源在执行这些转换之前都会经过自动归一化处理。EXIF 方向标记和 ICC 颜色配置文件会直接应用于图像像素,然后才会剥离任何元数据,从而确保坐标完整性在后续结构性操作中保持准确。