在 2026 年,为 WordPress 配置 Amazon S3 是卸载 WordPress 媒体库最成熟的方式。本指南会走一遍存储桶创建、IAM 权限、CORS、CloudFront 以及 WordPress 一侧的设置,并且不会跳过那些大家普遍卡住的步骤。
第一步:以正确方式创建存储桶
在靠近你受众的区域创建存储桶。若是私有存储桶,就屏蔽所有公共访问;若计划公开提供文件,则通过 CloudFront 分配授予特定访问。版本控制是可选的,但对恢复很有用。
给存储桶起一个可预期的名称。如果你跳过 CDN 这一步,存储桶名称会成为每个 URL 的一部分,所以要选一个你乐意出现在站点地图里的名字。
第二步:收紧 IAM
创建一个仅供 WordPress 使用、具备编程访问权限的专用 IAM 用户。为它附加一条仅允许你的卸载插件真正需要的操作的策略:对该特定存储桶的读取、写入、列举和删除。别的一概不给。
生成访问密钥,将其保存在 WordPress 的密钥管理器中,切勿把它们粘贴到公开仓库里的 wp-config.php 中。
第三步:配置 CORS,让浏览器配合
如果你会从 JavaScript 获取图片或对其执行 canvas 操作,就在存储桶上设置 CORS 策略,允许来自你站点来源的 GET 请求。大多数静态分发并不需要 CORS,但最好在发现需要之前就把它配置好。
如果你通过 CloudFront 提供文件,CloudFront 有自己的 CORS 设置,会覆盖存储桶的设置。两者都配置好以保持一致。
第四步:把 WordPress 接到 S3
安装 Defyn Media Offload,粘贴存储桶名称、区域和 IAM 访问密钥。插件会验证连接、运行一次小型上传测试,并清晰地报告任何权限问题。此后,每一次新上传都会自动传输到 S3。
对于已有媒体,Defyn Media Offload 插件提供一个可续传的 WP-CLI 命令。运行一次即可迁移你已经上传的全部内容。即便 SSH 会话中断,迁移也能继续。
第五步:在 S3 前放置 CloudFront
直接的 S3 URL 用于原型足矣。对于生产环境,请在前面放上 CloudFront。它会在边缘缓存文件、快速完成 TLS 握手,并让你从自己的自定义主机名提供服务。
更新插件中的 CDN URL 设置,使其指向 CloudFront 分配。此后 WordPress 会通过 CDN 提供每一张图片、每个 srcset 变体和每张产品照片。
常见问题
为 WordPress 配置 Amazon S3 贵吗?
不贵。一个典型的 WordPress 媒体库在 S3 加 CloudFront 上每月只需几美元。库越大,每 GB 的单价越划算。
我需要 Route 53 托管区吗?
不需要。你可以让任意 DNS 提供商指向 CloudFront。Route 53 是 AWS 原生选项,但并非必需。
服务器端加密怎么办?
启用它。SSE-S3 免费且为标准配置。SSE-KMS 更安全,但会增加成本和复杂度。
迁移需要多长时间?
一个一万张图片的媒体库通常一到两小时即可迁移完成,具体取决于带宽。插件支持续传,因此你可以让它整夜运行。
想以从一开始就规范的配置把 WordPress 媒体卸载到 S3 吗?Defyn 帮助澳大利亚企业搭建快速、安全且能随流量增长的媒体存储。



