配置Apache2的防盜鏈可以通過多種方法實現,其中一種常見的方法是使用mod_rewrite模塊。以下是一個基本的步驟指南:
mod_rewrite 模塊首先,確保你的Apache2服務器已經啟用了mod_rewrite模塊。你可以通過以下命令來啟用它:
sudo a2enmod rewrite
然后重啟Apache2服務以使更改生效:
sudo systemctl restart apache2
在你的網站根目錄下找到或創建一個.htaccess文件。在這個文件中,你可以添加以下內容來配置防盜鏈:
RewriteEngine On
# 允許的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example\.com [NC]
# 阻止訪問
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
在這個例子中:
RewriteEngine On 啟用重寫引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com [NC] 和 RewriteCond %{HTTP_REFERER} !^https://(www\.)?example\.com [NC] 檢查HTTP_REFERER頭,如果請求不是來自指定的域名(例如example.com),則執行下一步。RewriteRule \.(jpg|jpeg|png|gif)$ - [F] 阻止對圖片文件的訪問,并返回403 Forbidden狀態碼。如果你只想對某些目錄或文件應用防盜鏈規則,可以修改RewriteRule:
RewriteEngine On
# 允許的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example\.com [NC]
# 阻止對特定目錄的圖片訪問
RewriteRule ^images/.*\.(jpg|jpeg|png|gif)$ - [F]
保存.htaccess文件并測試配置是否生效。你可以嘗試從不同的域名訪問受保護的資源,確保只有允許的域名可以訪問。
.htaccess文件位于正確的目錄中,并且Apache2有權限讀取它。通過以上步驟,你應該能夠成功配置Apache2的防盜鏈功能。