温馨提示×

centos apache如何实现防盗链

小樊
40
2025-03-01 12:11:11
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

方法一:使用 .htaccess 文件

  1. 创建或编辑 .htaccess 文件: 在你的网站根目录下创建一个 .htaccess 文件(如果已经存在则直接编辑),并添加以下内容:

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

    解释:

    • RewriteEngine On:启用重写引擎。
    • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查请求的Referer是否不是你的域名(不区分大小写)。
    • RewriteCond %{HTTP_REFERER} !^$:确保Referer不是空的。
    • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:如果Referer不符合条件,则返回403 Forbidden状态码,并停止进一步处理。
  2. 保存并上传 .htaccess 文件: 将编辑好的 .htaccess 文件保存并上传到你的网站根目录。

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

  1. 编辑 Apache 配置文件: 打开你的Apache配置文件,通常位于 /etc/httpd/conf/httpd.conf/etc/apache2/apache2.conf(取决于你的CentOS版本和Apache安装方式)。

    sudo vi /etc/httpd/conf/httpd.conf
    
  2. 添加防盗链规则: 在 <Directory><Location> 块中添加以下内容:

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

    解释:

    • <Directory "/var/www/html">:指定要应用规则的目录,这里假设你的网站文件在 /var/www/html 目录下。
    • 其他部分与 .htaccess 文件中的规则相同。
  3. 保存并重启 Apache: 保存配置文件并重启Apache服务器以使更改生效。

    sudo systemctl restart httpd
    

注意事项

  • 确保你的域名是正确的,并且与防盗链规则中的域名匹配。
  • 防盗链规则可能会影响正常用户的访问,因此建议在测试环境中充分测试后再应用到生产环境。
  • 如果你有多个子域名或不同的目录需要不同的防盗链规则,可以针对每个子域名或目录分别配置。

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

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

推荐阅读:CentOS Apache如何实现防盗链功能

0