如果你希望学习 CDN 相关知识,那么建议你可以遍历以下软件的说明文档。
NGINX
cURL
evilyau
V2EX  ›  CDN

301 重定向做 CDN,免备案

  •  
  •   evilyau · Jan 19, 2015 · 7728 views
    This topic created in 4159 days ago, the information mentioned may be changed or developed.

    看看原文的地址:有图片: 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 replies    2020-02-29 06:21:24 +08:00
    cst4you
        1
    cst4you  
       Jan 19, 2015
    如果你这个"CDN"域名的线路丢包延迟大甚至不可访问, 那后面跳转后的地址多NB, 那还有啥效果呢?

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

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

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

    另外当时给客户用时,部分洁癖客户们嫌跳转后 URL 中不含他们的域名了,就给否了
    iCodex
        19
    iCodex  
       Jan 20, 2015 via Android
    优化最忌讳过多的重定向,你倒好。。。
    evilyau
        20
    evilyau  
    OP
       Jan 20, 2015 via Android
    @a128445 是的,301跳转也是没办法,直接肯定最好,不过只能修改源代码了。
    evilyau
        21
    evilyau  
    OP
       Jan 20, 2015 via Android
    @lemonda 这些我都了解,只是懒得重新编译nginx了,以后换tengine算了
    w3cfeder
        22
    w3cfeder  
       Feb 29, 2020
    @cst4you 我是把 301 定向到顶级域名。又拍云给的域名不能用的,因为好多都被百度或者谷歌收录了,容易那你的站点弄出镜像站。
    w3cfeder
        23
    w3cfeder  
       Feb 29, 2020
    静态站点扔到对象储存上去。速度飞起。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   925 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 20:28 · PVG 04:28 · LAX 13:28 · JFK 16:28
    ♥ Do have faith in what you're doing.