在 CentOS 系統上使用 Nginx 實現防盜鏈,可以通過配置 Nginx 的 location
塊和 valid_referers
指令來實現。以下是一個簡單的示例:
/etc/nginx/nginx.conf
或 /etc/nginx/conf.d/default.conf
。使用文本編輯器打開,例如:sudo vi /etc/nginx/conf.d/default.conf
server
塊中,找到 location
塊,或者創建一個新的 location
塊,用于處理需要防盜鏈的文件類型。例如,如果你想保護圖片文件的防盜鏈,可以這樣設置:location ~* \.(jpg|jpeg|png|gif)$ {
# 設置允許訪問的域名
valid_referers none blocked yourdomain.com www.yourdomain.com;
# 如果請求的來源不在允許的域名列表中,返回 403 狀態碼
if ($invalid_referer) {
return 403;
}
# 其他配置,例如緩存、壓縮等
}
將 yourdomain.com
和 www.yourdomain.com
替換為你希望允許訪問的域名。如果有多個域名,請用空格分隔。
保存并關閉配置文件。
重新加載 Nginx 配置以使更改生效:
sudo nginx -t # 檢查配置文件語法是否正確
sudo nginx -s reload # 重新加載配置文件
現在,Nginx 將根據配置的規則檢查請求的來源,如果來源不在允許的域名列表中,將返回 403 狀態碼,從而實現防盜鏈功能。