温馨提示×

CentOS Apache如何实现防盗链功能

小樊
37
2025-02-26 21:05:10
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上使用Apache服务器实现防盗链功能,可以通过配置Apache的.htaccess文件或直接编辑Apache的配置文件来实现。以下是两种常见的方法:

方法一:使用.htaccess文件

  1. 找到或创建.htaccess文件

    • 如果你已经在网站根目录下有一个.htaccess文件,可以直接编辑它。
    • 如果没有,可以在网站根目录下创建一个。
  2. 添加防盗链规则

    • 打开.htaccess文件,添加以下内容:

      <IfModule mod_rewrite.c>
          RewriteEngine On
          RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
          RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
      </IfModule>
      

      解释:

      • RewriteEngine On:启用重写引擎。
      • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查HTTP请求头中的Referer字段,如果不是来自你的域名(yourdomain.com),则执行重写规则。
      • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:阻止对指定图片格式的访问,返回403 Forbidden状态码。
  3. 保存并关闭文件

    • 保存.htaccess文件并关闭编辑器。

方法二:直接编辑Apache配置文件

  1. 找到Apache配置文件

    • 通常是/etc/httpd/conf/httpd.conf/etc/apache2/apache2.conf,具体路径取决于你的CentOS版本和安装方式。
  2. 启用mod_rewrite模块

    • 确保mod_rewrite模块已启用。你可以使用以下命令启用它:

      sudo a2enmod rewrite
      
    • 如果你使用的是CentOS 7或更高版本,可能需要使用以下命令:

      sudo systemctl restart httpd
      
  3. 添加防盗链规则

    • 打开Apache配置文件,找到<Directory><Location>块,添加以下内容:

      <Directory "/var/www/html">
          RewriteEngine On
          RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
          RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
      </Directory>
      

      解释:

      • <Directory "/var/www/html">:指定要应用规则的目录。
      • 其他部分与.htaccess文件中的规则相同。
  4. 保存并关闭文件

    • 保存配置文件并关闭编辑器。
  5. 重启Apache服务

    • 使用以下命令重启Apache服务以应用更改:

      sudo systemctl restart httpd
      

注意事项

  • 确保你的域名和路径正确无误。
  • 防盗链规则可能会影响正常用户的访问,因此请谨慎设置。
  • 如果你有多个子域名或不同的域名需要允许访问,可以相应地调整RewriteCond条件。

通过以上方法,你可以在CentOS上使用Apache服务器实现防盗链功能。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:centos apache如何实现防盗链

0