在Ubuntu上配置Apache防盜鏈,可以通過修改Apache的配置文件來實現。以下是詳細的步驟:
如果你還沒有安裝Apache,可以使用以下命令進行安裝:
sudo apt update
sudo apt install apache2
你可以使用mod_rewrite
模塊來創建防盜鏈規則。首先,確保mod_rewrite
模塊已經啟用:
sudo a2enmod rewrite
然后重啟Apache服務以應用更改:
sudo systemctl restart apache2
編輯你的網站配置文件。通常,這些文件位于/etc/apache2/sites-available/
目錄下。例如,如果你的網站配置文件是yourdomain.com.conf
,你可以使用以下命令編輯它:
sudo nano /etc/apache2/sites-available/yourdomain.com.conf
在<VirtualHost>
塊中添加以下內容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# 允許的域名列表
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
解釋:
RewriteEngine On
:啟用重寫引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:檢查HTTP Referer是否不是你的域名(不區分大小寫)。RewriteCond %{HTTP_REFERER} !^$
:檢查Referer是否為空。RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
:如果Referer不符合條件,則返回403 Forbidden狀態碼。按Ctrl + X
,然后按Y
確認保存,最后按Enter
退出編輯器。
為了使更改生效,重啟Apache服務:
sudo systemctl restart apache2
你可以通過嘗試從其他域名訪問你的圖片資源來測試防盜鏈是否生效。如果防盜鏈配置正確,你應該會看到403 Forbidden錯誤。
通過以上步驟,你就可以在Ubuntu上配置Apache防盜鏈了。根據你的具體需求,你可以調整允許的域名列表和文件類型。