博客
关于我
011.Nginx防盗链
阅读量:439 次
发布时间:2019-03-06

本文共 2086 字,大约阅读时间需要 6 分钟。

防盗链与防盗链配置指南

盗链概述

盗链是一种常见的网络安全问题,指的是在自己的界面展示非本服务器上的内容,通过技术手段获取其他服务器的资源。这种方式绕过了他人资源展示页面,在自己页面向用户提供此内容,从而减轻自身服务器的负担。真实的空间和流量来自于其他服务器。

为了防止被盗链,Web服务器通常需要配置防盗链。其核心思路是区分正常用户请求和非正常用户请求。


防盗链配置

防盗链的关键配置参数

valid_referers none | blocked | server_names | string ...;

  • 默认值:无
  • 可配置段:server, location

防盗链的实际应用

通过配置valid_referers,可以指定允许的来源域名或IP地址。非允许来源的请求将被拒绝。以下是一个典型配置示例:

server {
listen 80;
charset utf-8;
server_name good.linuxds.com;
location / {
root /usr/share/nginx/good;
index index.html;
access_log /var/log/nginx/good.access.log main;
error_log /var/log/nginx/good.error.log warn;
valid_referers none blocked good.linuxds.com;
if ($invalid_referer) {
return 403;
}
}
}

防盗链的环境准备

在实际应用中,需要确保以下几点:

  • 主机名解析:确保好.linuxds.com等域名能够正确解析到对应的IP地址。
  • IP配置:检查防火墙设置,确保防火墙不阻止相关端口。
  • 文件路径:确保配置文件和相关文件路径正确无误。

  • 防盗链配置示例

    示例1:全域名白名单配置

    server {
    listen 80;
    charset utf-8;
    server_name good.linuxds.com;
    location / {
    root /usr/share/nginx/good;
    index index.html;
    access_log /var/log/nginx/good.access.log main;
    error_log /var/log/nginx/good.error.log warn;
    valid_referers none blocked good.linuxds.com;
    if ($invalid_referer) {
    return 403;
    }
    }
    }

    示例2:针对特定文件类型的白名单配置

    server {
    listen 80;
    charset utf-8;
    server_name good.linuxds.com;
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    valid_referers none blocked *.linuxds.com linuxds.com;
    access_log /var/log/nginx/good.access.log main;
    error_log /var/log/nginx/good.error.log warn;
    if ($invalid_referer) {
    rewrite ^/ https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1767274412,1868768041&fm=26&gp=0.jpg;
    }
    }
    }

    防盗链的实际效果

    通过上述配置,可以有效防止非法盗链行为。例如:

    • 访问http://good.linuxds.com/images/baidu.png时,请求头中的Referer字段会被检查。
    • 如果Referer不在白名单中,将返回403错误,阻止非法访问。

    同时,针对特定文件类型的防盗链配置,可以进一步限制非法请求的范围,提高服务器安全性。


    防盗链的注意事项

  • 动态域名解析:确保域名解析能够动态更新,避免解析失败导致的访问问题。
  • 日志监控:定期检查日志文件,及时发现异常访问行为。
  • 定期更新:根据业务需求定期更新防盗链白名单,确保其持续有效性。
  • 通过以上配置和优化,可以有效防止服务器被盗链,保障网站正常运行。

    转载地址:http://lrwyz.baihongyu.com/

    你可能感兴趣的文章
    Nginx 动静分离与负载均衡的实现
    查看>>
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 多端口配置和访问异常问题的排查与优化
    查看>>
    Nginx 如何代理转发传递真实 ip 地址?
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 学习(一):Nginx 下载和启动
    查看>>
    nginx 常用指令配置总结
    查看>>
    Nginx 常用配置清单
    查看>>
    nginx 常用配置记录
    查看>>
    nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
    查看>>
    Nginx 我们必须知道的那些事
    查看>>
    Nginx 的 proxy_pass 使用简介
    查看>>
    Nginx 的配置文件中的 keepalive 介绍
    查看>>
    Nginx 结合 consul 实现动态负载均衡
    查看>>
    Nginx 负载均衡与权重配置解析
    查看>>