发布于2026-06-02 阅读(0)
扫一扫,手机访问
配置Nginx防盗链,核心原理是通过验证HTTP请求头中的Referer字段,来判断访问资源的来源是否合法。实现起来并不复杂,下面直接进入配置流程。

找到Nginx配置文件。通常情况下,主配置文件在/etc/nginx/nginx.conf,但防盗链规则一般放在具体网站的虚拟主机配置里,路径类似/etc/nginx/sites-a vailable/yourdomain.com。用你习惯的编辑器打开它,比如:
sudo nano /etc/nginx/sites-a vailable/yourdomain.com
在server块中添加防盗链配置。以下是一个典型的示例,放在location /块中即可:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
# 允许的来源
valid_referers none blocked server_names yourdomain.com www.yourdomain.com;
# 如果Referer不在允许列表中,返回403 Forbidden
if ($invalid_referer) {
return 403;
}
# 其他配置...
root /var/www/html;
index index.html index.htm;
}
}
这里解释几个关键点:
valid_referers指令用来定义哪些来源是合法的。可以设置none(不允许任何来源)、blocked(阻止的来源)、server_names(允许你指定的域名列表)。$invalid_referer是Nginx内置变量,当请求的Referer不在上述允许列表中时,它会变成true。if语句就是判断:如果来源不合法,直接返回403状态码,拒绝访问。保存文件并退出编辑器。使用Ctrl+X,按Y确认,再按Enter完成保存。
检查配置语法是否正确。这一步千万别跳过:
sudo nginx -t
如果配置没问题,会看到类似输出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新加载Nginx使配置生效:
sudo systemctl reload nginx
或者对于较老的系统,也可以用:
sudo service nginx reload
完成以上步骤后,防盗链机制就会生效。你可以根据实际需求调整valid_referers中的域名列表,比如加上你的CDN域名、图片服务器域名等。另外,注意if语句在Nginx中性能开销并不高,但如果规则复杂(比如需要配合多个条件),建议改用map或return配合ngx_http_referer_module的变量方式,这样更灵活。不过对于大部分场景,上述配置已经够用。
上一篇:Nginx缓存怎么配置
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8