V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
如果你希望学习 CDN 相关知识,那么建议你可以遍历以下软件的说明文档。
NGINX
cURL
Lullaby
V2EX  ›  CDN

CDN 全站加速是什么原理?

  •  
  •   Lullaby · 2015-12-07 17:53:35 +08:00 · 7060 次点击
    这是一个创建于 3278 天前的主题,其中的信息可能已经有所发展或是发生改变。

    CDN 服务商对域名进行全站加速只需要修改 DNS 的 CNAME 。
    他是对源站 URL 的页面内容进行全部爬取的吗?
    他如何区分静态资源和动态请求?

    19 条回复    2015-12-27 14:00:18 +08:00
    avichen
        1
    avichen  
       2015-12-07 17:56:35 +08:00   ❤️ 1
    看文件后缀,静态的就缓存下来
    ryd994
        2
    ryd994  
       2015-12-07 19:07:27 +08:00   ❤️ 1

    带 arg 的,带 coockies 的一般都是动态网页。
    图片, js , css 后缀的,一般都可以缓存。
    此外大多数动态网页框架,比如 wp ,都会带 cache-control 头,只要遵守 http 代理规范就可以了
    terranboy
        3
    terranboy  
       2015-12-07 19:26:11 +08:00   ❤️ 1
    原理就是反代 静态内容缓存
    lhbc
        4
    lhbc  
       2015-12-07 21:10:46 +08:00 via Android   ❤️ 1
    原理就是反向代理。
    源站对头部进行合理的设置,效果会更好。
    Lullaby
        5
    Lullaby  
    OP
       2015-12-08 00:18:49 +08:00
    @avichen
    @ryd994
    @terranboy
    @lhbc
    他们就是完全模拟了我们自己的服务器,代理了 80 端口( https 443 也一样),具体内容他们有一套自己的缓存服务,可以这么理解么?
    lhbc
        6
    lhbc  
       2015-12-08 00:35:04 +08:00 via Android   ❤️ 1
    @Lullaby 就是反向代理
    动态资源回源取,静态可以缓存的就缓存到节点上
    对于用户来说,比其他 CDN 的配置和管理要简单很多
    ryd994
        7
    ryd994  
       2015-12-08 01:33:20 +08:00   ❤️ 1
    @Lullaby 不用爬站。用户问他要什么,他就问源服务器要什么。然后根据缓存规则决定保不保存
    Lullaby
        8
    Lullaby  
    OP
       2015-12-08 02:31:02 +08:00
    @lhbc
    @ryd994
    最近在阿里做了全站 CDN ,由于是 HTTPS ,他们说只能做到 HTTP 和 HTTPS 并存,死活不让屏 80 端口或 80 跳转 443 ,不知道为什么,可能他们觉得麻烦,要针对域名做特殊配置;
    貌似现在 CDN 对 HTTPS 支持还不是很完善,不过从技术层面讲无论是屏蔽或跳转,应该都不复杂吧
    ryd994
        9
    ryd994  
       2015-12-08 02:32:56 +08:00 via Android   ❤️ 2
    @Lullaby 因为技术水平不够……
    听说 upyun 可以
    此外,如果你不介意全站 https 的话: hsts
    Lullaby
        10
    Lullaby  
    OP
       2015-12-08 02:40:51 +08:00
    @ryd994
    现在意义上从 https 访问已然是全站 https 抽时间了解一下 hsts
    非常感谢 早些休息
    Lullaby
        11
    Lullaby  
    OP
       2015-12-08 02:41:46 +08:00
    @ryd994
    对了 我也听说 upyun 的可配性非常强,今年早些时候就对 https 有很好的支持
    lhbc
        12
    lhbc  
       2015-12-08 10:26:31 +08:00 via Android   ❤️ 1
    @Lullaby 同时支持两个协议,应该配置两个虚拟主机吧?
    80 回源到源站 80 , 443 回源到 443 ,这样你在 80 配置跳转 443 就可以了。
    没用过阿里 CDN ,不清楚情况。
    Lullaby
        13
    Lullaby  
    OP
       2015-12-08 14:41:59 +08:00
    @lhbc
    阿里那边的回答是不支持 80 跳 443 ,不支持禁用 80 端口;
    具体不知道他们是怎么配置的,按理说他们现在掌控了主域名请求,一切都是可能的;
    回源到源站我们的 80 是跳 443 的;

    刚才试了一下, http 访问回源到源站跳到了 443 ,貌似也没什么问题;不过这样是不安全的吧
    lhbc
        14
    lhbc  
       2015-12-08 16:00:22 +08:00
    @Lullaby 这个没什么问题啊,即使是源站,也是访问 80 然后跳 443
    1 、如果能保证一直用 https ,可以加 HSTS
    2 、 cookies 加上 secure
    lhbc
        15
    lhbc  
       2015-12-08 16:02:17 +08:00
    @Lullaby 仔细看了下你最后一句
    阿里把源站的 443 反代到 CDN 的 80 了?
    这太乌龙了吧……
    Lullaby
        16
    Lullaby  
    OP
       2015-12-08 16:38:20 +08:00
    @lhbc
    如果是通过 http 访问的,阿里 CDN 回源到源站 80 ,如果是 https 就回源到 443 ;
    现在在页面脚本里面做了跳转,如果 http 访问就把协议改为 https 然后 reload ;
    但这样让脚本攻击成为可能
    Akagi201
        17
    Akagi201  
       2015-12-27 13:23:17 +08:00
    @Lullaby 可以看下 upyun 的是否满足你 http://docs.upyun.com/cdn/#_6
    Akagi201
        18
    Akagi201  
       2015-12-27 13:48:04 +08:00
    @Lullaby 关于自动动静分离看下这里: http://docs.upyun.com/cdn/#_13
    Akagi201
        19
    Akagi201  
       2015-12-27 14:00:18 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5432 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 08:00 · PVG 16:00 · LAX 00:00 · JFK 03:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.