什么是CloudFront?
Amazon CloudFront 是一项内容分发网络 (CDN) 服务,旨在提供高性能、安全性和开发者便利性。它加速了静态和动态网页内容(如 .html、.css、.js 和图像文件)的分发。
CloudFront如何工作?
CloudFront 通过全球的数据中心网络(称为边缘位置)分发内容。当用户请求使用 CloudFront 服务的内容时,请求会路由到提供最低延迟的边缘位置,以便内容以最佳性能交付。
- 如果内容已在最低延迟的边缘位置,CloudFront会立即交付。
- 如果内容不在该位置,CloudFront会从您定义的源(如 Amazon S3 存储桶、MediaPackage 频道或 HTTP 服务器)检索内容。
开始配置
先决条件
- 拥有访问 EC2 和 CloudFront 的 AWS 账户。
- 配置好的公有 EC2 Linux 实例。
此示例使用 EC2 Ubuntu 实例安装 Nginx 服务器并将其与 CloudFront 集成。
在EC2中进行配置
多网站Nginx配置
如果您在单个Nginx服务器上配置了多个网站,并且它们有不同的 "server_name",则需要将 Host 头转发到 Nginx 服务器。
编辑现有行为的设置
- 打开 CloudFront 控制台,然后选择您的分发。
- 选择 "行为" 选项卡,然后选择要转发 Host 头的行为。
- 选择 "编辑"。
- 在 "缓存键和源请求 (Cache key and origin requests)" 下,确认选择了 "旧版缓存设置 (Legacy cache settings)"。如果未设置,请按照前一部分的步骤创建缓存策略。如果已选择 "旧版缓存设置",则完成以下步骤:
- 对于 "头" ,选择 "包含以下头" 。
- 从 "添加头" 下拉列表中选择 "Host"。
- 选择 "保存更改"。
测试 CORS
$ curl -H "Origin:example.com" -v https://d3lm***********.cloudfront.net/image.png
CloudFront失效
Amazon CloudFront 的失效功能允许在对象过期前将其从 CloudFront 缓存中移除。现在支持使用通配符字符。在失效路径的末尾添加通配符字符,可以移除所有匹配该路径的对象。