在 CentOS 系统上,使用 Apache 服务器实现防盗链可以通过配置 .htaccess
文件来实现。以下是具体的步骤:
在 CentOS 系统上,Apache 的主配置文件通常位于 /etc/httpd/conf/httpd.conf
。使用文本编辑器打开该文件,例如使用 vi
编辑器:
sudo vi /etc/httpd/conf/httpd.conf
mod_rewrite
模块防盗链功能通常需要使用 Apache 的 mod_rewrite
模块。首先确保该模块已启用。在配置文件中找到以下行:
# LoadModule rewrite_module modules/mod_rewrite.so
去掉行首的 #
号以启用该模块:
LoadModule rewrite_module modules/mod_rewrite.so
.htaccess
文件在需要防盗链的目录下创建或编辑 .htaccess
文件。例如,如果你想对 images
目录下的图片进行防盗链,可以在该目录下创建或编辑 .htaccess
文件:
cd /path/to/your/website/images
touch .htaccess
vi .htaccess
在 .htaccess
文件中添加以下内容:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
这里的 yourdomain.com
需要替换为你自己的域名。这段配置的意思是:如果访问者请求的图片来源不是你的域名(包括子域名),则拒绝访问。
保存 .htaccess
文件并退出编辑器。然后重启 Apache 服务器以使配置生效:
sudo systemctl restart httpd
现在,你的网站上的图片已经实现了防盗链功能。其他网站尝试引用这些图片时,将会收到 403 Forbidden 错误。