在Ubuntu上配置Apache2的防盗链功能,可以通过修改Apache的配置文件来实现。以下是详细的步骤:
首先,确保你的系统上已经安装了Apache2。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install apache2
你可以创建一个新的配置文件来专门处理防盗链设置,或者直接在现有的虚拟主机配置文件中进行修改。
创建一个新的配置文件:
sudo nano /etc/apache2/conf-available/anti-hotlinking.conf
在文件中添加以下内容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
</IfModule>
解释:
RewriteEngine On
:启用重写引擎。RewriteCond %{HTTP_REFERER} !^$
:检查HTTP_REFERER是否为空。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:检查HTTP_REFERER是否不是你的域名(忽略大小写)。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:如果条件匹配,返回403 Forbidden状态码,并停止进一步处理。保存并关闭文件。
打开你的虚拟主机配置文件,例如:
sudo nano /etc/apache2/sites-available/yourdomain.com.conf
在<VirtualHost>
块内添加以下内容:
<Directory "/var/www/html">
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
</Directory>
解释与方法一相同。
保存并关闭文件。
根据你选择的方法,执行以下命令之一来启用新的配置:
a2enconf
sudo a2enconf anti-hotlinking
sudo systemctl restart apache2
确保你的防盗链配置已经生效。你可以尝试从不同的域名访问你的图片资源,看看是否返回403 Forbidden状态码。
mod_rewrite
模块。如果没有启用,可以使用以下命令启用:sudo a2enmod rewrite
sudo systemctl restart apache2
通过以上步骤,你应该能够在Ubuntu上成功配置Apache2的防盗链功能。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>