centos

CentOS上Apache2如何防盗链

小樊
44
2025-06-28 13:02:32
栏目: 智能运维

在CentOS上,Apache2可以通过配置.htaccess文件或httpd.conf文件来实现防盗链。以下是两种方法的详细步骤:

方法一:使用.htaccess文件

  1. 打开或创建.htaccess文件。这个文件通常位于网站的根目录下。如果该文件不存在,请创建一个。

  2. .htaccess文件中,添加以下代码:

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

yourdomain.com替换为您自己的域名。这段代码的意思是,如果访问者试图从其他域名访问您的图片资源,将被拒绝访问。

  1. 保存并关闭.htaccess文件。

  2. 重启Apache服务以使更改生效:

sudo systemctl restart httpd

方法二:使用httpd.conf文件

  1. 打开httpd.conf文件。这个文件通常位于/etc/httpd/conf/目录下。使用文本编辑器打开它,例如:
sudo vi /etc/httpd/conf/httpd.conf
  1. <Directory>部分中,找到AllowOverride指令并将其设置为All。这将允许.htaccess文件覆盖配置。
<Directory "/var/www/html">
    AllowOverride All
</Directory>
  1. <VirtualHost>部分中,添加以下代码:
<LocationMatch "\.(jpg|jpeg|png|gif)$">
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteRule .* - [F,L]
</LocationMatch>

yourdomain.com替换为您自己的域名。

  1. 保存并关闭httpd.conf文件。

  2. 重启Apache服务以使更改生效:

sudo systemctl restart httpd

现在,您的CentOS上的Apache2服务器已经配置了防盗链功能。请注意,防盗链并不能完全阻止盗链行为,但它可以有效地减少盗链现象。

0
看了该问题的人还看了