在CentOS上配置防盗链,通常是指使用Nginx或Apache等Web服务器来限制其他网站直接链接到你的资源(如图片、视频、CSS文件等)。以下是使用Nginx和Apache分别配置防盗链的方法:
编辑Nginx配置文件:
打开Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。
sudo vi /etc/nginx/nginx.conf
添加防盗链配置:
在server
块中添加以下配置:
server {
listen 80;
server_name yourdomain.com;
location / {
root /path/to/your/files;
valid_referers none blocked yourdomain.com *.yourdomain.com;
if ($invalid_referer) {
return 403;
}
}
}
解释:
valid_referers
指令用于指定允许的引用来源。none
表示不允许任何引用。blocked
表示允许被阻止的引用。yourdomain.com
和*.yourdomain.com
是允许的域名。if ($invalid_referer)
块用于检查引用是否有效,如果无效则返回403 Forbidden状态码。重新加载Nginx配置: 保存并退出编辑器后,重新加载Nginx配置以使更改生效。
sudo nginx -s reload
编辑Apache配置文件:
打开Apache的配置文件,通常位于/etc/httpd/conf/httpd.conf
或/etc/apache2/apache2.conf
。
sudo vi /etc/httpd/conf/httpd.conf
启用必要的模块:
确保启用了mod_rewrite
模块。
sudo a2enmod rewrite
添加防盗链配置:
在需要保护的目录下创建或编辑.htaccess
文件,并添加以下配置:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif|css|js)$ - [F,L]
解释:
RewriteEngine On
启用重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com [NC]
检查引用来源是否不是你的域名。RewriteCond %{HTTP_REFERER} !^$
确保引用来源不为空。RewriteRule \.(jpg|jpeg|png|gif|css|js)$ - [F,L]
阻止对这些文件类型的访问,并返回403 Forbidden状态码。重新加载Apache配置: 保存并退出编辑器后,重新加载Apache配置以使更改生效。
sudo systemctl reload httpd
通过以上步骤,你可以在CentOS上使用Nginx或Apache配置防盗链,保护你的资源不被其他网站直接链接。