用Nginx反代自建CDN 禁止cdn域名访问网站的操作方法

租一台物理服务器,用nginx反代做CDN镜像,是我目前加速网站访问速度常用的办法。这样能减轻主服务器的访问压力,让网站响应更迅速。另外,如果你主服务器用的是流量计费,还能减轻不少流量费用。

但是有一个问题,是反代是整个网站都反代了,造成CDN域名能访问到网站。CDN域名下的内容如果被搜索引擎收录了,势必会影响主站的收录,也会给用户带来困扰。

其实只需要修改一下反代的规则即可。原理就是增加一个匹配规则,对应的后缀走反代,没有匹配到的返回403。下面是代码,找到你的反代配置文件按下面的结构调整一下即可。

#PROXY-START/

location ^~ / {
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|pdf|txt|svg|woff|woff2|ttf|eot)$ {
    原来的反代规则
    }
    return 403;
}

#PROXY-END/

实在不会整CDN。。。。好丢人。