在CentOS上配置Apache防盗链,可以通过修改Apache的配置文件来实现。以下是详细的步骤:
在进行任何修改之前,建议先备份原始的Apache配置文件。
sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
打开Apache的主配置文件httpd.conf
。
sudo vi /etc/httpd/conf/httpd.conf
在配置文件中找到或添加以下内容:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# 防盗链规则
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
</Directory>
解释:
RewriteEngine On
:启用URL重写引擎。RewriteCond %{HTTP_REFERER} !^$
:检查HTTP_REFERER是否为空。RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
:检查HTTP_REFERER是否不是来自指定的域名(这里替换为你的域名)。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:如果条件匹配,返回403 Forbidden状态码,并停止进一步处理。按Esc
键,然后输入:wq
保存并退出。
使配置生效,重启Apache服务。
sudo systemctl restart httpd
打开浏览器,访问你的网站,并尝试从其他域名加载图片或其他资源。如果防盗链规则生效,你应该会看到403 Forbidden错误。
RewriteCond
中添加多个条件。通过以上步骤,你可以在CentOS上成功配置Apache防盗链。