我的个人博客:逐步前行STEP

以前就想着配置cdn了,但是一直配置不得法,添加完配置也没有生效,这两天认真研究了一下,终于解决了。
首先是在阿里云上的cdn配置:

加速域名:image.aaa.com,就是让网站访问图片的域名
回源域名:bbb.com,就是能真实访问到图片资源的域名,不过由于我的图片路径是IP访问的,我配置的是回源IP。
最重要的就是以上两个,之前我没区分加速与回源的意思,配置反了一直不生效~~~
然后在域名解析中配置image.aaa.com的cname记录,当ping
image.aaa.com时提示的域名是:.w.kunlungr.com时就算生效了,不出意外的话,直接通过image.aaa.com访问资源是成功的。

接下来是服务器上的配置:
我的项目架构是这样的:

两台aws服务器部署了网站,一台阿里云服务器做NFS让两台应用服务器共享图片资源,一个域名用于前端访问,通过IP直接访问后端接口。
CDN回源的IP就是阿里云服务器IP,我在这台服务器上简单搭建了NGINX服务器只用来访问静态资源:http://ip/image/xxx/xxx.jpg,而aws服务器上的后端接口都是8080端口,前端端口是80,也就是访问aaa.com的时候,图片路径为http://ip:8080/xxx/xxx.jpg

通过cdn加速域名image.aaa.com访问回源IP(阿里云服务器的IP)来获取图片http://image.aaa.com/xxx/xxx.jpg,只需要配置服务器实现简单的请求转发就可以从CDN缓存中获取图片了:

http://ip:8080/xxx/xxx.jpg转发到http://image.aaa.com/image/xxx/xxx.jpg

当然如果直接将aws服务器上的接口返回的图片路径替换成http://image.aaa.com/xxx/xxx.jpg的话,效果更好,减少了转发的环节。

标签: none

添加新评论