在Debian系统上使用Nginx实现防盗链,可以通过配置Nginx的ngx_http_referer_module
模块来完成。这个模块允许你根据HTTP请求头中的Referer
字段来控制访问权限。以下是具体步骤:
-
安装Nginx(如果尚未安装):
sudo apt update sudo apt install nginx
-
编辑Nginx配置文件: 打开Nginx的主配置文件,通常位于
/etc/nginx/nginx.conf
或/etc/nginx/sites-available/default
。sudo nano /etc/nginx/sites-available/default
-
添加防盗链配置: 在
server
块中添加以下配置,以限制特定域名的访问:server { listen 80; server_name example.com; location / { # 允许的域名列表 valid_referers none blocked server_names ~\.example\.com$ ~\.trusted\.domain\.com$; if ($invalid_referer) { return 403 "Forbidden"; } # 其他配置... root /var/www/html; index index.html index.htm; } }
解释:
valid_referers
指令用于指定允许的Referer
值。none
:不允许任何Referer
。blocked
:允许被Nginx阻止的Referer
。server_names
:允许的服务器域名。~\.example\.com$
和~\.trusted\.domain\.com$
:正则表达式匹配的域名。
if ($invalid_referer)
:如果Referer
无效,则返回403 Forbidden状态码。
-
测试配置: 在保存并退出编辑器后,测试Nginx配置是否正确:
sudo nginx -t
-
重新加载Nginx: 如果配置测试通过,重新加载Nginx以应用更改:
sudo systemctl reload nginx
通过以上步骤,你就可以在Debian系统上使用Nginx实现防盗链功能。请根据实际需求调整允许的域名列表和其他配置。