

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# CloudFront 发行版创建
<a name="cloudfront-distribution-creation"></a>

 通过关注分配来创建 CloudFront Web 分配，自动创建的默认来源和行为将用于动态内容。创建另外四个行为，以进一步自定义处理静态和动态请求的方式。下表总结了这五种行为的配置属性。

*表 1： CloudFront 行为的配置属性摘要*


|  属性  |  静态  |  动态（管理员）  |  动态（前端）  | 
| --- | --- | --- | --- | 
|  路径（行为）  |  `wp-content/* `<br />` wp-includes/* ` | ` wp-admin/*` <br /> `wp-login.php ` |  默认 (\*)  | 
|  协议  |  HTTP和 HTTPS  |  重定向至 HTTPS  |  HTTP和 HTTPS  | 
|  HTTP方法  |  GET, HEAD  |  ALL  |  ALL  | 
|  HTTP标题  |  NONE  |  ALL  |  Host <br /> CloudFront-Forwarded-Proto <br /> CloudFront-Is-Mobile-Viewer <br /> CloudFront-Is-Tablet-Viewer <br /> CloudFront-Is-Desktop-Viewer  | 
|   |   |   |   | 
|  Cookie  |  NONE  |  ALL  |  评论\_\* <br /> wordpress\_\* <br /> wp-settings-\*  | 
|  查询字符串  |  YES（无效）  |  YES  |  YES  | 

 对于默认行为，AWS建议使用以下配置：
+  允许 Origin Protocol 策略与 Viewer 匹配，这样HTTPS，如果查看者 CloudFront 连接到 CloudFront使用，也可以使用HTTPS它连接到您的源，从而实现 end-to-end加密。请注意，这需要您在负载均衡器上安装可信SSL证书。有关详细信息，请参阅[HTTPS要求在 CloudFront 和您的自定义来源之间进行通信](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-cloudfront-to-custom-origin.html)。
+  允许所有HTTP方法，因为网站的动态部分需要同时使用GET和POST请求（例如，支持POST评论提交表单）。
+  仅转发会改变 WordPress 输出的 Cookie；例如`>wordpress_*``wp-settings-*`、和`comment_*`。如果您安装了任何依赖列表中未列出的其他 Cookie 的插件，则必须扩展该列表。
+  仅转发影响输出的HTTP标题 WordPress，例如、`Host`、`CloudFront-Forwarded-Proto``CloudFront-is-Desktop-Viewer`、`CloudFront-is-Mobile-Viewer`、和`CloudFront-is-Tablet-Viewer`：
  +  `Host`允许将多个 WordPress 网站托管在同一个源上。
  +  `CloudFront-Forwarded-Proto`允许根据是通过HTTP还是访问页面来缓存不同版本的页面HTTPS。
  +  `CloudFront-is-Desktop-Viewer`，`CloudFront-is-Mobile-Viewer`，`CloudFront-is-Tablet-Viewer`允许您根据最终用户的设备类型自定义主题的输出。
+  根据查询字符串的值将所有查询字符串转发到缓存中，因为 WordPress 依赖这些值，它们也可以用来使缓存的对象失效。

 如果您想使用自定义域名（即不是`*.cloudfront.net`）为网站提供服务，请在 “分发设置” 的 “**备用****域名**” URIs 下输入相应的域名。在这种情况下，自定义域名还需要一个SSL证书。您可以通过 Certificate Manager [申请](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request.html)SSLAWS证书，并针对 CloudFront 分发进行配置。

 现在，为动态内容再创建两个缓存行为：一个用于登录页面（路径模式:`wp-login.php`），另一个用于管理员仪表板（路径模式:`wp-admin/*`）。这两种行为的设置完全相同，如下所示：
+  强制执行 “HTTPS仅限查看者协议” 策略。
+  允许所有HTTP方法。
+  基于所有HTTP标题进行缓存。
+  转发所有 Cookie。
+  根据所有 Cookie 转发和缓存。

这种配置背后的原因是，网站的这一部分是高度个性化的，通常只有几个用户，因此缓存效率不是首要考虑的问题。重点是保持配置简单，通过将所有 cookie 和标头传递给源站来确保与任何已安装插件的最大兼容性。

默认情况下，将所有内容 WordPress 存储在本地的 Web 服务器上，即用于[单服务器部署的块存储 (AmazonEBS) 和用于[弹性部署](elastic-deployment.md)](simple-deployment.md)的文件存储 (AmazonEFS)。除了降低存储和数据传输成本外，将静态资产转移到 Amazon S3 还提供可扩展性、数据可用性、安全性和性能。有几个插件可以轻松地将静态内容移至 Amazon S3；其中之一是 [W3 Total Cache](https://wordpress.org/plugins/w3-total-cache/)，[附录 B：插件安装和配置](appendix-b-plugins-installation-and-configuration.md)中也对此进行了介绍。