elefant/app-cloudfront

Elefant CMS 的 CloudFront 应用程序

安装: 14

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

开放问题: 0

类型:elefant-app

1.0 2012-05-11 13:40 UTC

This package is auto-updated.

Last update: 2024-08-25 06:42:26 UTC


README

这是一个极其简单的应用程序,用于帮助将 Elefant 网站与 Elefant 网站与 Amazon CloudFront 内容分发网络 (CDN) 集成。

设置

1. 在 AWS 管理控制台中注册一个 AWS 账户,并将 CloudFront 添加到您的服务中。

2. 仍然在 AWS 管理控制台中,转到 CloudFront 并单击 创建分发 按钮。在创建分发向导中选择以下选项

  • 交付方法: 下载
  • 分发类型: 自定义源
  • 源 DNS 名称: www.example.com

确保将 www.example.com 更改为与您的网站域名匹配。

有关其他设置的更多信息,请参阅这里。现在单击继续。

Create Distribution Wizard

3. 可选 在分发详细信息下,选择一个子域,例如 cdn.example.com,并将其输入到 CNAME 字段中。我们将在后续步骤中将此 CNAME 指向 CloudFront 的 DNS 设置。有关其他设置的更多信息,请参阅这里

Distribution Details

4. 可选 一旦您创建了 CloudFront 分发,请复制显示在域名选项卡中的域名。登录到您的注册商并按以下方式添加一个 CNAME 到您的 DNS

Subdomain         Record Type   IP or Domain
cdn.example.com   CNAME         d604721fxaaqy9.cloudfront.net

5. 将 cloudfront 应用程序复制到您的 Elefant 安装的 apps 文件夹中,然后在 Elefant 管理工具栏中访问“额外功能”>“CloudFront”,并将 Amazon AWS CDN 域名(来自步骤 3)输入到 domain 字段中。

如果您决定不使用 CNAME 并跳过了步骤 3 和 4,只需复制新创建的 CloudFront 分发下域名选项卡中的域名,并用它代替。

使用方法

在您的视图和布局中,您想通过 CloudFront 服务的任何文件都应该更改如下

<img src="{! cloudfront/files/images/logo.png !}" />

文件路径简单地用 {! !} 标签包裹(单个空格是可选的,将被忽略),并将 cloudfront 添加到文件路径中。这会将文件路径传递给 CloudFront 应用程序的主处理程序,以便将其重写为 CloudFront 引用。

您也可以直接通过 PHP 调用它,如下所示

<?php

echo $this->run ('cloudfront/files/images/logo.png');

?>

或者,您也可以直接在 CDN 上引用相同的文件路径,如下所示

<img src="https://cdn.example.com/files/images/logo.png" />

这是更直接的方式,消除了额外的处理程序调用。动态处理程序确实会进行一些额外检查,以验证请求文件的合法性,这在文件名提前未知的情况下非常有用,但牺牲了少许优化。因此,尽可能使用直接 URL,如果请求的文件是动态的,则可能最好使用处理程序。

Gzip 压缩

CloudFront 不会自动压缩文件,但您可以在服务器配置中添加几行代码,以确保在可能的情况下正确发送压缩文件。以下是 Nginx 用户的一个简短配置,告诉 CloudFront 正确地服务压缩文件

gzip on;
gzip_http_version 1.0;
gzip_proxied any;
gzip_types text/css application/x-javascript;
gzip_vary on;