温馨提示×

如何配置CentOS上的Apache防盗链

小樊
51
2025-04-12 17:03:03
栏目: 智能运维

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

1. 备份原始配置文件

在进行任何修改之前,建议先备份原始的Apache配置文件。

sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

2. 编辑Apache配置文件

打开Apache的主配置文件httpd.conf

sudo vi /etc/httpd/conf/httpd.conf

3. 添加防盗链规则

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

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted

    # 防盗链规则
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
    RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
</Directory>

解释:

  • RewriteEngine On:启用URL重写引擎。
  • RewriteCond %{HTTP_REFERER} !^$:检查HTTP_REFERER是否为空。
  • RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]:检查HTTP_REFERER是否不是来自指定的域名(这里替换为你的域名)。
  • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:如果条件匹配,返回403 Forbidden状态码,并停止进一步处理。

4. 保存并退出编辑器

Esc键,然后输入:wq保存并退出。

5. 重启Apache服务

使配置生效,重启Apache服务。

sudo systemctl restart httpd

6. 测试防盗链

打开浏览器,访问你的网站,并尝试从其他域名加载图片或其他资源。如果防盗链规则生效,你应该会看到403 Forbidden错误。

注意事项

  • 确保你的域名和路径正确无误。
  • 如果你有多个域名或子域名,可以在RewriteCond中添加多个条件。
  • 防盗链规则可以进一步细化,例如只针对特定目录或文件类型。

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

0