在CentOS中配置Apache2防盗链,可以通过修改Apache的配置文件来实现。以下是详细的步骤:
如果你还没有安装Apache,可以使用以下命令进行安装:
sudo yum install httpd
安装完成后,启动Apache服务并设置开机自启:
sudo systemctl start httpd sudo systemctl enable httpd
在Apache的配置目录中创建一个新的配置文件,例如/etc/httpd/conf.d/anti-hotlinking.conf
。
sudo vi /etc/httpd/conf.d/anti-hotlinking.conf
在配置文件中添加以下内容:
<Directory "/var/www/html"> # 允许的域名列表 SetEnvIf Referer "^$" allow_empty_referer SetEnvIf Referer "^http(s)?://(www\.)?example\.com$" allow_referer # 不允许的域名列表 SetEnvIf Referer ".*" deny_referer # 拒绝访问 Order Allow,Deny Allow from env=allow_empty_referer Allow from env=allow_referer Deny from all </Directory>
在这个配置中:
SetEnvIf Referer "^$" allow_empty_referer
允许空引用(即直接访问)。SetEnvIf Referer "^http(s)?://(www\.)?example\.com$" allow_referer
允许来自特定域名的引用。SetEnvIf Referer ".*" deny_referer
拒绝所有其他引用。保存并关闭配置文件后,重启Apache服务以使更改生效:
sudo systemctl restart httpd
你可以通过以下方式测试防盗链配置是否生效:
例如,如果你有一个图片文件/var/www/html/images/example.jpg
,你可以尝试从一个不允许的域名访问它:
<img src="http://your-site.com/images/example.jpg" alt="Example Image">
如果配置正确,你应该会看到一个禁止访问的错误页面。
通过以上步骤,你就可以在CentOS中成功配置Apache2防盗链。