在CentOS上配置Apache服務器以防止防盜鏈,可以通過以下步驟實現:
首先,確保你已經安裝了mod_rewrite模塊。這個模塊允許你使用URL重寫規則。
sudo yum install mod_rewrite
編輯Apache的配置文件,通常是/etc/httpd/conf/httpd.conf或/etc/apache2/apache2.conf(取決于你的CentOS版本)。
你可以在需要防盜鏈的目錄下創建一個.htaccess文件,并添加以下內容:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
解釋:
RewriteEngine On:啟用重寫引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:檢查HTTP_REFERER是否不是你的域名(不區分大小寫)。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:如果條件匹配,則返回403 Forbidden狀態碼,并停止進一步處理。你也可以直接在Apache的主配置文件中添加這些規則。編輯/etc/httpd/conf/httpd.conf或相應的虛擬主機配置文件:
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html
<Directory "/var/www/html">
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
</Directory>
</VirtualHost>
保存配置文件后,重啟Apache服務以使更改生效:
sudo systemctl restart httpd
或者,如果你使用的是舊版本的CentOS:
sudo service httpd restart
嘗試從其他域名訪問你的圖片資源,確保它們被正確地阻止了。如果一切配置正確,你應該會看到403 Forbidden錯誤。
通過以上步驟,你應該能夠在CentOS上成功配置Apache服務器以防止防盜鏈。