301 重定向做 CDN,免备案

2015-01-19 18:33:22 +08:00
 evilyau

看看原文的地址:有图片: 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;
}

6935 次点击
所在节点    CDN
23 条回复
cst4you
2015-01-19 18:48:40 +08:00
如果你这个"CDN"域名的线路丢包延迟大甚至不可访问, 那后面跳转后的地址多NB, 那还有啥效果呢?

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

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

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

另外当时给客户用时,部分洁癖客户们嫌跳转后 URL 中不含他们的域名了,就给否了
iCodex
2015-01-20 09:03:50 +08:00
优化最忌讳过多的重定向,你倒好。。。
evilyau
2015-01-20 10:28:50 +08:00
@a128445 是的,301跳转也是没办法,直接肯定最好,不过只能修改源代码了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/163560

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX