在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配置防盗链,保护你的资源不被其他网站直接链接。