在CentOS上配置Nginx防盜鏈,可以通過以下幾種方法實現:
valid_referers
指令編輯Nginx配置文件:
打開Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。
sudo vi /etc/nginx/nginx.conf
添加防盜鏈配置:
在server
塊中添加valid_referers
指令。例如:
server {
listen 80;
server_name example.com;
location /protected/ {
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403;
}
# 其他配置...
}
}
這里的valid_referers
指令指定了允許的引用來源。none
表示不允許任何引用,blocked
表示允許被Nginx阻止的引用,server_names
表示允許的域名。
重啟Nginx: 保存配置文件并重啟Nginx以應用更改。
sudo systemctl restart nginx
ngx_http_referer_module
模塊確保模塊已加載:
確保Nginx已經編譯并加載了ngx_http_referer_module
模塊??梢酝ㄟ^以下命令檢查:
nginx -V 2>&1 | grep --color=auto referer
如果輸出中包含--with-http_referer_module
,則表示模塊已加載。
編輯Nginx配置文件:
打開Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。
sudo vi /etc/nginx/nginx.conf
添加防盜鏈配置:
在server
塊中添加valid_referers
指令。例如:
server {
listen 80;
server_name example.com;
location /protected/ {
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403;
}
# 其他配置...
}
}
重啟Nginx: 保存配置文件并重啟Nginx以應用更改。
sudo systemctl restart nginx
如果上述方法不能滿足需求,可以考慮使用第三方模塊,如ngx_http_xss_clean_module
或ngx_http_security_module
,這些模塊提供了更高級的安全功能,包括防盜鏈。
通過以上方法,可以在CentOS上配置Nginx防盜鏈,保護網站資源不被非法引用和下載。