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

301 重定向做 CDN,免备案

  •  
  •   evilyau · 2015-01-19 18:33:22 +08:00 · 6885 次点击
    这是一个创建于 3587 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看看原文的地址:有图片: http://www.qiuzhiming.cn/301zhong-ding-xiang-zuo-cdn/

    由于域名没有备案而且Ghost博客也无法修改图片的前缀,就打算从nginx上下手。

    通过访问图片,然后301跳转到CDN的域名上,实现CDN的效果,而且不用更改Ghost博客的任何代码。

    {<1>}

    点击这个链接,看看URL发生的变化: http://www.qiuzhiming.cn/content/images/2015/01/QQ20150117-21.jpg

    可以看到,原来图片和静态资源的地址都跳转到CDN了,源代码不变,其他资源不变。

    看看效果,原来只是相对位置的静态资源,跳转到CDN的地址了:

    Nginx配置代码:

    location ~^/(content|public)/{
    rewrite "/(content|public)/(.+)$" http://7u2jvp.com1.z0.glb.clouddn.com/$1/$2 permanent;
    }

    23 条回复    2020-02-29 06:21:24 +08:00
    cst4you
        1
    cst4you  
       2015-01-19 18:48:40 +08:00
    如果你这个"CDN"域名的线路丢包延迟大甚至不可访问, 那后面跳转后的地址多NB, 那还有啥效果呢?

    既然人家提供了域名, 用不就好了.

    我就是这样使用upyun提供的域名实现免备案静态内容加速的.
    cst4you
        2
    cst4you  
       2015-01-19 18:50:29 +08:00
    哦好吧, 看到说的是 [Ghost博客也无法修改图片的前缀], 对不起我错了. 请忽略我.
    Moker
        3
    Moker  
       2015-01-19 19:15:23 +08:00   ❤️ 1
    上次活动 买了UCLOUD cdn几百G流量 没备案域名 基本废了
    orzfly
        4
    orzfly  
       2015-01-19 19:45:06 +08:00
    MaiCong
        5
    MaiCong  
       2015-01-19 19:54:30 +08:00 via iPhone
    不能忍啊!是重(chóng)定向吧啊喂!
    cst4you
        6
    cst4you  
       2015-01-19 19:54:44 +08:00
    @Moker 你是upyun还是ucloud啊, upyun可以用他们域名啊
    evilyau
        7
    evilyau  
    OP
       2015-01-19 20:32:38 +08:00
    @orzfly 你这个要重新安装模块,重新编译nginx,很麻烦,现在只要增加几行配置就可以了,简单快速。
    evilyau
        8
    evilyau  
    OP
       2015-01-19 20:33:05 +08:00
    @MaiCong 是重定向,Ghost识别错了,这个自动的,没改而已。
    evilyau
        9
    evilyau  
    OP
       2015-01-19 20:33:49 +08:00
    @cst4you 那个域名 ,是七牛 CDN给的域名,看起来还好
    sanddudu
        10
    sanddudu  
       2015-01-19 20:39:29 +08:00   ❤️ 1
    我目前做的适配是改掉储存代码来支持七牛
    也只能这样,Ghost 的 API 还没准备好

    事实上源站速度够就没必要全站 CDN,就图片和资源上去也可以明显加快速度
    evilyau
        11
    evilyau  
    OP
       2015-01-19 20:47:37 +08:00
    @sanddudu 我这个博客用的是原版的Ghost搭建的,改代码一个是比较麻烦,二是怕出现一些未知问题,能最小改动实现功能,自然是最好,有七牛,又拍云适配版的Ghost博客,那样改动太大了,图片也存在了七牛,又拍云上面,不在本地。
    evilyau
        12
    evilyau  
    OP
       2015-01-19 20:49:04 +08:00
    @sanddudu 现在只是对 content、public、assets这三个目录下的静态文件做了301跳转,DigitalOcean 的网速还是有点慢。
    sanddudu
        13
    sanddudu  
       2015-01-19 20:52:02 +08:00
    @evilyau 不存在本地是因为之后 URL 是自动生成在远程的 URL,本地的调用不到,会占用空间。
    你可以删掉删除本地文件的代码,就可以在本地留备份了
    我用的是 Linode 东京,速度挺快
    evilyau
        14
    evilyau  
    OP
       2015-01-19 20:55:05 +08:00
    @sanddudu 没有深入研究过修改版本的Ghost,Linode我也考虑过,只是最低配要10刀,根本用不到,digitalOcean 还有100美元的优惠劵,免费用一年多也不是问题
    Moker
        15
    Moker  
       2015-01-19 22:31:51 +08:00
    @cst4you UCLOUD...所以基本废了
    教育包申请了快一个月了 还没有回应
    a128445
        16
    a128445  
       2015-01-20 00:54:33 +08:00
    这样做的效果不是很好吧?因为请求还是需要先到服务器才能重定向,不如直接就用CDN的域名= =。
    这样子搞重定向只是好看罢了= =
    lemonda
        17
    lemonda  
       2015-01-20 03:19:38 +08:00
    ericFork
        18
    ericFork  
       2015-01-20 03:31:59 +08:00
    这个方法以前就有用过,用 301 其实不合适,应该用 302

    另外当时给客户用时,部分洁癖客户们嫌跳转后 URL 中不含他们的域名了,就给否了
    iCodex
        19
    iCodex  
       2015-01-20 09:03:50 +08:00 via Android
    优化最忌讳过多的重定向,你倒好。。。
    evilyau
        20
    evilyau  
    OP
       2015-01-20 10:28:50 +08:00 via Android
    @a128445 是的,301跳转也是没办法,直接肯定最好,不过只能修改源代码了。
    evilyau
        21
    evilyau  
    OP
       2015-01-20 10:30:30 +08:00 via Android
    @lemonda 这些我都了解,只是懒得重新编译nginx了,以后换tengine算了
    w3cfeder
        22
    w3cfeder  
       2020-02-29 06:19:50 +08:00
    @cst4you 我是把 301 定向到顶级域名。又拍云给的域名不能用的,因为好多都被百度或者谷歌收录了,容易那你的站点弄出镜像站。
    w3cfeder
        23
    w3cfeder  
       2020-02-29 06:21:24 +08:00
    静态站点扔到对象储存上去。速度飞起。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2721 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:20 · PVG 08:20 · LAX 16:20 · JFK 19:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.