服务器使用了CDN后会加速内容的访问,但是如果没有配置好缓存策略可能会导致无法进入后台,或者访问变慢的情况。这里以使用阿里云CDN
、基于Typecho
的网站为例,列出一些常见的CDN配置问题及解决方法。
配置HTTPS
如果网站启用了HTTPS,那么阿里云的CDN配置中也需要启用HTTPS,如果没有启用会导致网页打不开。
操作步骤
1.准备网站上已经启用的HTTPS证书。
2.登录CDN控制台
,进入CDN域名管理
页。选择域名,单击管理
。
3.在HTTPS设置
> HTTPS证书
,单击修改配置
。
4.在HTTPS设置
对话框中,开启HTTPS安全加速
。
5.选择证书。可以选择的证书类型包括:云盾、自定义和免费证书。如果是第三方证书选择自定义
,填入私钥和公钥,如果是在阿里云直接购买的云盾证书
则可以直接选择。
强制HTTPS跳转
如果输入HTTP网址后也可以访问,没有自动跳转到HTTPS网页,那么就要配置强制跳转。
在设置完HTTPS证书后,在HTTPS配置
里选择强制跳转
,选择第三个HTTP->HTTPS
。
常见的缓存策略
缓存策略:
1.对于不经常更新的静态文件(图片类型、应用下载类型等),建议将缓存时间设置为1个月以上。
2.对于需要更新并且更新很频繁的静态文件(js、css等),可以将缓存时间设置短些,视业务情况而定。
3.对于动态文件(php、jsp、asp等),建议设置缓存时间为0s,即不缓存。
以下是我的配置:
网站后台打不开
配置完毕后如果出现后台无法进入的现象,则检查缓存策略中是否缓存了admin目录和php文件(wordpress中是wp-admin目录)
将/admin
目录和php,jsp,asp,aspx
后缀文件的缓存时间设置为0,即不缓存,然后刷新下全站url即可。
配置CDN后的301跳转
如果网站设置了301跳转,这里以我的博客为例:
我网站的Nginx
配置了301跳转
,即输入ecsoe.com
自动跳转到www.ecsoe.com
,那么在配置CDN的时候需要同时配置这两个域名,但是缓存只配置二级域名www.ecsoe.com
,顶级域名ecsoe.com
不需要配置缓存策略,但是需要开启HTTPS。这样就可以正常的靠Nginx
进行跳转,有利于SEO。