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

本文共 2046 字,大约阅读时间需要 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/

    你可能感兴趣的文章
    Objective-C实现Burrows-Wheeler 算法(附完整源码)
    查看>>
    Objective-C实现CaesarsCiphe凯撒密码算法(附完整源码)
    查看>>
    Objective-C实现calloc函数功能(附完整源码)
    查看>>
    Objective-C实现canny边缘检测算法(附完整源码)
    查看>>
    Objective-C实现cartesianProduct笛卡尔乘积算法(附完整源码)
    查看>>
    Objective-C实现check strong password检查密码强度算法(附完整源码)
    查看>>
    Objective-C实现chudnovsky algorithm楚德诺夫斯基算法(附完整源码)
    查看>>
    Objective-C实现CIC滤波器(附完整源码)
    查看>>
    Objective-C实现circle sort圆形排序算法(附完整源码)
    查看>>
    Objective-C实现CircularQueue循环队列算法(附完整源码)
    查看>>
    Objective-C实现clearBit清除位算法(附完整源码)
    查看>>
    Objective-C实现climbStairs爬楼梯问题算法(附完整源码)
    查看>>
    Objective-C实现cocktail shaker sort鸡尾酒排序算法(附完整源码)
    查看>>
    Objective-C实现cocktailShakerSort鸡尾酒排序算法(附完整源码)
    查看>>
    Objective-C实现CoinChange硬币兑换问题算法(附完整源码)
    查看>>
    Objective-C实现collatz sequence考拉兹序列算法(附完整源码)
    查看>>
    Objective-C实现Collatz 序列算法(附完整源码)
    查看>>
    Objective-C实现comb sort梳状排序算法(附完整源码)
    查看>>
    Objective-C实现combinationSum组合和算法(附完整源码)
    查看>>
    Objective-C实现combinations排列组合算法(附完整源码)
    查看>>