如何配置Apache防盗链功能

1036
2025/4/7 15:33:04
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

配置Apache防盗链功能可以通过修改Apache的配置文件(通常是httpd.confapache2.conf)来实现。以下是一个基本的步骤指南:

1. 打开Apache配置文件

首先,找到并打开你的Apache配置文件。这个文件通常位于/etc/httpd/conf/(在CentOS/RHEL系统上)或/etc/apache2/(在Debian/Ubuntu系统上)。

sudo nano /etc/httpd/conf/httpd.conf  # CentOS/RHEL
# 或者
sudo nano /etc/apache2/apache2.conf  # Debian/Ubuntu

2. 启用必要的模块

确保你已经启用了mod_rewrite模块,因为我们将使用它来实现防盗链。

sudo a2enmod rewrite  # Debian/Ubuntu
# 或者
sudo systemctl enable rewrite  # CentOS/RHEL

3. 配置防盗链规则

在配置文件中添加或修改<Directory><Location>.htaccess文件中的规则。以下是一个示例配置:

使用.htaccess文件

在你的网站根目录下创建或编辑.htaccess文件:

sudo nano /var/www/html/.htaccess

添加以下内容:

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

解释:

  • RewriteEngine On:启用重写引擎。
  • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查HTTP_REFERER是否不是你的域名(不区分大小写)。
  • RewriteCond %{HTTP_REFERER} !^$:确保HTTP_REFERER不是空的。
  • RewriteRule \.(jpg|jpeg|png|gif)$ - [F]:如果条件匹配,返回403 Forbidden状态码。

使用<Directory><Location>配置

如果你更喜欢在主配置文件中设置规则,可以在<Directory><Location>块中添加以下内容:

<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /var/www/html

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

4. 重启Apache服务器

保存配置文件并重启Apache服务器以使更改生效。

sudo systemctl restart apache2  # Debian/Ubuntu
# 或者
sudo systemctl restart httpd  # CentOS/RHEL

5. 测试防盗链功能

尝试从其他域名访问你的图片资源,确保防盗链规则生效。如果一切配置正确,你应该会看到403 Forbidden错误。

通过以上步骤,你应该能够成功配置Apache的防盗链功能。根据你的具体需求,你可以调整规则以适应不同的场景。

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

推荐阅读: Debian进程依赖关系如何管理