美文网首页AWS
使用Cloudfront实现内容分发网络(CDN)的简单总结

使用Cloudfront实现内容分发网络(CDN)的简单总结

作者: liuchungui | 来源:发表于2018-12-28 23:20 被阅读0次

前段时间,好几次,看到自己的网站不翻墙连不上了,但是别的网站却可以。而且,看到连接别人网站加载的资源时,不同区域加载的数据也来自于不同的ip,顿时感觉好牛逼。那他们怎么做到的?于是乎,经过搜索之后才知道,是别人用了平台的CDN服务(当然有的大公司可以自己搭建)。之后,我通过使用亚马逊的Cloudfront也实现了相似的效果,并将实践中遇到的问题总结下。

如何使用Cloudfront,可以参考官方文档CloudFront 入门指南。我实现的方式是在Cloudfront指定web源,并且设置CNAME,最后在域名解析时候相对应设置。

在配置过程中,遇到下面几个问题:
1、web资源加载不会缓存到浏览器中
解决的办法就是在源服务器的Nginx配置Cache-Control,如下:

# 统一的配置
add_header Cache-Control max-age=259200;

# 针对html配置为不缓存
location ~* ^.+\.(html|htm)$ {
  add_header Cache-Control no-store;
}

2、加载的JS、CSS资源不压缩
解决办法:nginx需要添加gzip_proxied any; 才会生效,具体配置如下:

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 8k;
        gzip_http_version 1.0;
        gzip_comp_level 6;
        gzip_types text/css text/xml image/gif image/jpeg image/png application/javascript image/x-ms-bmp application/pdf text/plain application/json application/xhtml+xml;
        gzip_proxied any;

3、https通信中证书的问题
刚开始,我是用自己的证书进行HTTPS配置,然后将证书也上传到亚马逊后台,但是配置之后发现不能用。之后,在仔细理解HTTPS的逻辑和Cloudfront之后,发现其实配置特别简单,需要列举有两点:

  • 指定源服务器,源服务器可以指定HTTP也可以指定HTTPS,Cloudfront的边缘节点从源服务器获取数据的过程,和我们自己用浏览器从源服务器获取数据一样,边缘节点是客户端,源服务器是服务器。所以,我们源服务器是HTTPS、HTTP都行。
  • 使用亚马逊的HTTPS服务创建证书,之后我们在创建Cloudfront的时候,可以设置这个证书。此时这个证书的作用是用户从边缘节点获取数据使用的,此时用户的浏览器是客户端,边缘节点是服务器,此SSL证书就是保证它们之间通信的安全性,与源服务器没有任何关系。

相关文章

  • 使用Cloudfront实现内容分发网络(CDN)的简单总结

    前段时间,好几次,看到自己的网站不翻墙连不上了,但是别的网站却可以。而且,看到连接别人网站加载的资源时,不同区域加...

  • 02.Element UI 之安装使用(CDN)

    一、CDN方式安装使用 |--CDN:content delivery network内容分发网络,CDN是构...

  • CDN 内容分发网络

    在全球范围内实现快速内容分发。 CDN 替代 有P2P 对等网络。 CDN 内容分发网络 优势 & 特性全面覆盖:...

  • 什么是【CDN】

    CDN 叫做内容分发网络(Content Delivery Network)。CDN是构建在网络之上的内容分发网络...

  • CDN

    简介:CDN(Content Delivery Network),内容分发网络。CDN是构建在网络之上的内容分发网...

  • 新手入门之CDN的理解

    1.1CND的简单介绍 CDN的全称是Content Delivery NetWork ,既内容分发网络。CDN是...

  • [QA]反劫持相关

    一、CDN相关 CDN,即内容分发网络,简单说就是把静态数据分布在很多CDN节点服务器上,CDN系统能实时根据网络...

  • CDN

    CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网...

  • 啥子是cdn

    CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网...

  • 什么是CDN

    CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网...

网友评论

    本文标题:使用Cloudfront实现内容分发网络(CDN)的简单总结

    本文链接:https://www.haomeiwen.com/subject/ipsylqtx.html