在CentOS系统中配置Apache防盗链,可以通过修改Apache的配置文件来实现。以下是详细的步骤:
首先,你需要编辑Apache的主配置文件httpd.conf
或apache2.conf
,通常位于/etc/httpd/conf/
或/etc/apache2/
目录下。
sudo vi /etc/httpd/conf/httpd.conf
在配置文件中找到<Directory>
或<Location>
块,添加以下防盗链规则:
<Directory "/var/www/html">
# 允许的域名列表
SetEnvIf Referer "^http(s)?://(www\.)?example\.com$" allow_referer
SetEnvIf Referer "^$" deny_referer
# 拒绝所有其他引用
Order allow,deny
Allow from env=allow_referer
Deny from all
</Directory>
在这个例子中:
SetEnvIf Referer "^http(s)?://(www\.)?example\.com$" allow_referer
:允许来自example.com
及其子域名的引用。SetEnvIf Referer "^$" deny_referer
:拒绝没有引用来源的请求。Order allow,deny
:设置允许和拒绝的顺序。Allow from env=allow_referer
:只允许来自allow_referer
环境的请求。Deny from all
:拒绝所有其他请求。如果你希望更灵活地控制防盗链规则,可以在网站的根目录下创建或编辑.htaccess
文件。
sudo vi /var/www/html/.htaccess
然后在.htaccess
文件中添加以下内容:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
在这个例子中:
RewriteEngine On
:启用重写引擎。RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example\.com [NC]
:检查引用来源是否不是example.com
及其子域名。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:如果条件匹配,则返回403 Forbidden状态码。修改配置文件后,需要重启Apache服务以使更改生效。
sudo systemctl restart httpd
或者如果你使用的是旧版本的CentOS:
sudo service httpd restart
最后,你可以通过访问你的网站并尝试从不同的域名引用图片来测试防盗链配置是否生效。
通过以上步骤,你可以在CentOS系统中成功配置Apache防盗链。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:CentOS上Apache如何配置防盗链