背景
杞人忧天的我,总感觉自己的博客搭建在国内主机上,同时使用的是国内的CDN加速服务,如果有外国友人或者经常坐飞机出去的同志,可能访问会有点困难。(真的是杞人忧天)。于是,我想到了自己搭建一个境外的CDN服务器。
工具准备
- Nginx公网服务器一台
- 域名一套
具体操作
配置域名解析
我是用的是腾讯云的域名解析服务。在此,我想要搭建域名www.vvzero.com
的CDN,根据我的需求,我设置了如下的解析:
这里表示,如果访问者在国外,那么将会解析到我的国外的服务器上。否则,就解析到国内的CDN。
配置服务器
在Nginx配置文件库conf.d/
下新增一个文件。我将它命名为www.vvzero.com.conf
。文件内容如下:
1 | proxy_cache_path /var/www/caches/www.vvzero.com levels=1:2 keys_zone=vvzero:128m inactive=2880m max_size=128m; |
重要解释:
- 如果不需要使用https,可以把SSL的配置语句删除,并只监听80端口。
/var/www/caches/www.vvzero.com
是缓存目录位置,这个需要手动创建,至于权限,默认sudo创建的即可。keys_zone=vvzero:128m
相当于给你的缓存起了个名字,并设置最大可用的内存空间。这里,我起的vvzero
名字必须要与下面的proxy_cache
相同。proxy_pass https://www.vvzero.com;
设置原站主机地址。为了不让它解析到自己的ip上,我们需要修改此CND服务器的/etc/hosts
文件。在文件中添加一条记录,把域名解析到源站主机,比如:0.0.0.0 www.vvzero.com
expires 48h;
这里设置的是缓存过期时间。- 其他参数可以自己了解。
然后,就大功告成啦!
效果展示
http://www.17ce.com/site/http/201804_4c0d99b24986e887abd69addb9b25b9c.html
挺可以了,可以看到国外都解析到了我刚刚部署的CDN节点上,国内不受影响。