Cloudfront和EC2

Chr*_*ich 11 amazon-web-services amazon-cloudfront

如何在EC2实例前设置Cloudfront?我有兴趣让用户点击Cloudfront网址而不是EC2源.

因此,用户不会点击ec2-52-64-xxx-xxx.ap-southeast-2.compute.amazonaws.com,而是点击d111111abcdef8.cloudfront.net.

我的目的是通过减少EC2实例的流量和CPU负载来节省托管费用,同时为海外用户提供更快的加载时间.

我只是将我的DNS指向Cloudfront网址而不是EC2源吗?

Mic*_*bot 29

我只是将我的DNS指向Cloudfront网址而不是EC2源吗?

差不多.

从技术上讲,您不会将DNS指向URL,而是将其指向主机名或IP地址,这与CloudFront略有不同.

首先,虽然...在CloudFront分配设置中,您需要在"备用域名"框中配置CloudFront应该看到的浏览器发送的任何主机名.

对于origin,输入ec2-...-compute.amazonaws.com主机名.

此时,在10-15分钟后,访问CloudFront分配的URL应该会将您带到您的服务器.

接下来......如果您的DNS托管在Route 53中,那么您将转到托管区域并为这些主机名创建新的"A"记录,将"别名"设置为"是",这将导致目标框为填充CloudFront分配,然后选择,然后保存记录.

如果您的DNS不是由Route 53托管,则您将CNAME在DNS中创建记录,指向分配给CloudFront分配的主机名,例如jozxyqkexample.cloudfront.net.这里的问题是,你无法使用域名的顶点/根来执行此操作,因为a CNAME在那里无效...所以www.example.com可以工作,但是example.com不会.这是DNS的限制,唯一的解决方法是为您的DNS使用Route 53,因为它与CloudFront内部集成(因此上面提到的"别名"记录使用内部查找而不是外部引用,如CNAME ).

您可能还希望配置CloudFront以将Host标头转发回原始服务器; 否则,当请求到达时,在HTTP请求中提供给服务器的主机名将不是您的域名,而是您配置为源主机的主机名.

当您通过CloudFront连接时,请确保服务器不会将您重定向回EC2主机名或IP(如果有的话,浏览器中的地址栏将会更改,并且您将需要修改Web服务器的配置,如果那个会发生).

  • 我收到此错误,请求无法满足.CloudFront尝试与原点建立连接,但尝试失败或原点关闭了连接.由cloudfront(CloudFront)生成请求ID:9FQvbTDRYQvDABh1FgbmeMdMBA5JQmcH29bQd_yLQJ90Mf3cytZilg == (2认同)

Ano*_*mar 6

使用以下步骤将 ec2-52-64-xxx-xxx.ap-southeast-2.compute.amazonaws.com 路由到 d111111abcdef8.cloudfront.net。

请按照以下步骤操作:

  1. 登录您的 aws 控制台并搜索 CloudFront

  2. 转到 CloudFront:创建分配(请选择Web 分配

  3. 源设置下:选择源域名(您可以分配实例的公共 DNS,例如ec2-52-64-xxx-xxx.ap-southeast-2.compute.amazonaws.com
  4. 默认缓存行为设置下:选择查看器协议策略:将 HTTP 重定向到 HTTPS
  5. 在对象缓存下:选择自定义(在最小 TTL 、最大 TTL 和默认 TTL 中保持默认设置)
  6. 转发 Cookie : 全部
  7. 查询字符串转发和缓存:全部
  8. 分发设置:选择价格等级:(使用所有边缘位置(最佳性能))。
  9. 备用域名 (CNAME):如果有,请添加您的域名 URL 名称
  10. SSL 证书:在 SSL 下,您可以选择默认证书或您的自定义证书,具体取决于您的要求。(选择默认值。)

注意:对于自定义 SSL 证书(证书应该在 us-east-1 区域)。

  1. 可能需要 10 到 15 分钟