前面介绍了OSS+CDN实现图床加速的方法,但是css、js等静态文件没有进行加速,并且域名直接DNS指向服务器会泄露IP引来攻击,所以再添加一个CDN,用于全站静态加速并隐藏真实IP


一、CDN全站加速

假设主力域名是www.ipaopao.xin,为主域名新增一条CDN,回源位置选择源站IP,回源的意思是,用户访问到的是CDN上的文件,如果CDN上没有改文件,CDN会从源站上同步文件回来

由于服务器上配置了vhost,CDN直接访问源站IP是读取不到站点的,需要再填写回源host:www.ipaopao.xin,表示该CDN是从服务器上的”www.ipaopao.xin”获取文件进行缓存,此时服务器上的vhost设置会将“www.ipaopao.xin”引导到正确的目录位置

接着设置缓存规则:我们的目标是将css,js等静态文件进行缓存,后台/动态文件不缓存,直接回源。阿里云CDN支持权重缓存,下面是我的wordpress设置,可以参考

设置完成后,在域名管理处将主域名的A记录删除,改为CNAME到CDN地址,这样一条针对源站的静态缓存CDN就配置完成了


二、次域名配置

前面配置了主力域名www.ipaopao.xin,但我们想让ipaopao.xin也是访问站点,并保护源站IP。处理方法是和www.ipaopao.xin一样增加一条CDN记录,但不需要做缓存,直接回源,回源后服务器上会对ipaopao.xin做301跳转到www.ipaopao.xin,避免SEO抓取错误,实际上用户访问的是www.ipaopao.xin,直接回源的缓存策略这样子设置:


三、检查是否缓存正确

配置完成等待大约半小时后,我们可以检查CDN是否生效,这里以Chrome举例,按F12-network开始抓包,访问www.ipaopao.xin,点击左侧的css或js文件观察Response Headers

x-cache:HIT表示命中服务器缓存,MISS表示未命中

x-swift-cachetime:表示该文件在CDN上的缓存周期

x-swift-savetime:表示CDN获取该文件在进行缓存的时间


四、结论

设置完成后,站点的CDN结构大概是这样子的:用户无论使用www.ipaopao.xin,还是ipaopao.xin,访问到的静态文件都来自CDN-1,源站服务器处在CDN之下避免了IP泄露风险。图片文件放在OSS图床使用CDN-3单独加速,减少服务器压力,也减少了OSS外部链接访问的支出


建站日志:全流程步骤传送门

  1. 《建站纪念:正式入坑阿里云》
  2. 《万网上购买域名与网站备案》
  3. 《基于OneinStack搭建系统环境》
  4. 《在LNMP上搭建WordPress网站》
  5. 《利用OSS当图床并配置CDN加速》
  6. 《WordPress动静分离的CDN方案》
  7. 《结合阿里云CDN实现全站HTTPS》
  8. 《OneinStack|WordPress安全调整》
分类: Wordpress

橙子Pal

懒癌晚期,沉迷吸猫,伪·技术肥宅

发表评论

电子邮件地址不会被公开。 必填项已用*标注