nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > Nginx配置防盗链

Nginx配置防盗链保护静态资源的详细教程

作者:神秘泣男子

防盗链是一种通过检查 HTTP 请求头中的 Referer 字段来限制资源访问的技术,常用于保护图片、视频等静态资源不被其他网站直接引用,以下是Nginx防盗链的原理、配置步骤以及测试方法,帮助你快速配置和验证防盗链功能,需要的朋友可以参考下

1. 防盗链的原理

防盗链通过检查 HTTP 请求头中的 Referer 字段来判断请求来源:

常见场景:

2. 配置步骤

(1) 编辑 Nginx 配置文件

打开 Nginx 配置文件:

vim /usr/local/nginx/conf/nginx.conf

在 server 块中添加以下内容:

location ~* \.(gif|jpg|jpeg|png|bmp|ico)$ {
    valid_referers none blocked yourdomain.com *.yourdomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

配置说明:

valid_referers none blocked yourdomain.com *.yourdomain.com;:

if ($invalid_referer)

(2) 测试配置文件语法

在保存配置文件后,测试配置是否正确:

nginx -t

预期输出:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

如果有错误,检查配置文件中的语法问题并修复。

(3) 重启 Nginx 服务

重启 Nginx 使配置生效:

systemctl restart nginx

3. 创建一个简单的测试图片

即使你的网页没有图片资源,你可以手动添加一个测试图片文件到 Nginx 的根目录,方便验证防盗链功能。

步骤

echo "Test Image" > /usr/share/nginx/html/test.jpg
 <img src="http://yourdomain.com/test.jpg" />
curl -e "http://otherdomain.com" http://yourdomain.com/test.jpg
//Nginx 应该返回 403 错误。
 
curl -e "http://smqnz.com" 192.168.14.111/123.png
//可以访问

如果配置正确,

总结:

通过配置防盗链,可以有效保护网站的静态资源,防止带宽被恶意消耗。在实际应用中,可以根据业务需求调整匹配规则和允许的域名,进一步优化配置。

以上就是Nginx配置防盗链保护静态资源的详细教程的详细内容,更多关于Nginx配置防盗链的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文