温馨提示×

如何在CentOS中配置Apache2防盗链

小樊
42
2025-08-06 13:08:21
栏目: 智能运维

在CentOS中配置Apache2防盗链,可以通过修改Apache的配置文件来实现。以下是详细的步骤:

1. 安装Apache

如果你还没有安装Apache,可以使用以下命令进行安装:

sudo yum install httpd 

2. 启动和启用Apache服务

安装完成后,启动Apache服务并设置开机自启:

sudo systemctl start httpd sudo systemctl enable httpd 

3. 创建防盗链配置文件

在Apache的配置目录中创建一个新的配置文件,例如/etc/httpd/conf.d/anti-hotlinking.conf

sudo vi /etc/httpd/conf.d/anti-hotlinking.conf 

4. 编辑防盗链配置文件

在配置文件中添加以下内容:

<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 拒绝所有其他引用。

5. 重启Apache服务

保存并关闭配置文件后,重启Apache服务以使更改生效:

sudo systemctl restart httpd 

6. 测试防盗链配置

你可以通过以下方式测试防盗链配置是否生效:

  1. 在浏览器中访问你的网站。
  2. 尝试从一个不允许的域名访问你的资源,看看是否被拒绝。

例如,如果你有一个图片文件/var/www/html/images/example.jpg,你可以尝试从一个不允许的域名访问它:

<img src="http://your-site.com/images/example.jpg" alt="Example Image"> 

如果配置正确,你应该会看到一个禁止访问的错误页面。

通过以上步骤,你就可以在CentOS中成功配置Apache2防盗链。

0