溫馨提示×

CentOS Apache如何配置防盜鏈

小樊
37
2025-03-13 14:20:37
欄目: 智能運維

在CentOS系統中配置Apache防盜鏈,可以通過修改Apache的配置文件來實現。以下是詳細的步驟:

1. 編輯Apache配置文件

首先,你需要編輯Apache的主配置文件httpd.confapache2.conf,通常位于/etc/httpd/conf//etc/apache2/目錄下。

sudo vi /etc/httpd/conf/httpd.conf

2. 添加防盜鏈規則

在配置文件中找到<Directory><Location>塊,添加以下防盜鏈規則:

<Directory "/var/www/html">
    # 允許的域名列表
    SetEnvIf Referer "^http(s)?://(www\.)?example\.com$" allow_referer
    SetEnvIf Referer "^$" deny_referer

    # 拒絕所有其他引用
    Order allow,deny
    Allow from env=allow_referer
    Deny from all
</Directory>

在這個例子中:

  • SetEnvIf Referer "^http(s)?://(www\.)?example\.com$" allow_referer:允許來自example.com及其子域名的引用。
  • SetEnvIf Referer "^$" deny_referer:拒絕沒有引用來源的請求。
  • Order allow,deny:設置允許和拒絕的順序。
  • Allow from env=allow_referer:只允許來自allow_referer環境的請求。
  • Deny from all:拒絕所有其他請求。

3. 配置.htaccess文件(可選)

如果你希望更靈活地控制防盜鏈規則,可以在網站的根目錄下創建或編輯.htaccess文件。

sudo vi /var/www/html/.htaccess

然后在.htaccess文件中添加以下內容:

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

在這個例子中:

  • RewriteEngine On:啟用重寫引擎。
  • RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example\.com [NC]:檢查引用來源是否不是example.com及其子域名。
  • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:如果條件匹配,則返回403 Forbidden狀態碼。

4. 重啟Apache服務

修改配置文件后,需要重啟Apache服務以使更改生效。

sudo systemctl restart httpd

或者如果你使用的是舊版本的CentOS:

sudo service httpd restart

5. 測試防盜鏈配置

最后,你可以通過訪問你的網站并嘗試從不同的域名引用圖片來測試防盜鏈配置是否生效。

通過以上步驟,你可以在CentOS系統中成功配置Apache防盜鏈。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女