V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yseternal
V2EX  ›  问与答

网站加 CDN 时候遇见的一些问题,求教

  •  
  •   yseternal · 2016-02-17 18:37:30 +08:00 · 1829 次点击
    这是一个创建于 3228 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们后端采用的 PHP 框架 CI ,图片, CSS 以及 JS 等原本都是在自己服务器上的。
    最近想做一些优化,加上 CDN ,采用的是阿里云 OSS + 阿里云的 CDN ,主要思路如下:

    1.前端用 webpack build ,将 css 合并压缩, js 也进行压缩,
    然后计算出 hash 值,文件名被命名为 main.[hash].js 之类,然后存一张索引表,映射
    main.js => main.[hash].js 之间的关系,所有页面引用 main.js 都更改为<?=_R('main.js')?>
    通过_R 这个 php 函数去读取映射表从而找到真正的文件名。 js 和 css 都这么处理,然后每次发布时,
    比对映射表,发现新增或者有变化的同步到阿里云 OSS ,然后刷新 CDN 。

    2.图片方面,用另外的一个域名 image.xxx.com,然后绑定阿里云的 OSS 图片服务器。为了开发方便,
    目前所有的图片资源都放在 /assert/image 底下,利用 nginx 的 rewrite 机制,将对这个 url 下的请
    求都发送到 image.xxx.com 上去。代码里还是用 src="/assert/image/aa.png",没有改成 image.xxx.com/assert/image/aa.png 。这样虽然开发调试方便了,但是却引起了很多 302 重定向,
    似乎也很不好?发布的时候同样需要比对 /assert/image 下修改增加的东西,同步到 OSS 并刷新 CDN 。

    小弟对这方面了解不多,不知道这么搞有什么大的问题吗? 或者有更好的解决方法或者工具?最近十分苦恼,真诚求教。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3091 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:12 · PVG 21:12 · LAX 05:12 · JFK 08:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.