zoukankan      html  css  js  c++  java
  • Nginx对代理HTTP资源的限制访问

    为了限制连接的数量,首先,使用指令来定义密钥并设置共享内存区域的参数(工作进程将使用该区域来共享键值的计数器)。作为第一个参数,指定作为关键字计算的表达式。在第二个参数区域中,指定区域的名称及其大小。

    其次,使用指令在一个位置、一个虚拟服务器或整个HTTP上下文中应用该限制。将共享内存区域的名称指定为第一个参数,并将每个密钥的允许连接的数量作为第二个参数。

    这里写图片描述

    测试:当访问该内容并发数为1时

    全部访问成功
    这里写图片描述
    测试:当访问该内容并发数为10时

    只有一次访问成功,其他都是503报错
    这里写图片描述


    为了限制请求率,首先,使指令设置密钥和共享内存区域来保持计数器。

    一旦定义了共享内存区域,在虚拟服务器或位置(或者如果需要的话,在全局上)使用指令来限制请求率:


    限制每个连接的带宽,使用指令:

    测试:在带宽为50K.速率为1r/s的情况下下载文件
    nginx.conf的内容如下:
    这里写图片描述
    从server1下载,速率受限
    这里写图片描述


    这里写图片描述
    这里写图片描述
    当顺序颠倒,所有主机都被限制访问

    这里写图片描述
    这里写图片描述
    因为当deny在前所有的请求都被拒绝系统读不到下面的一行allow内容
    当allow在前deny在后,allow的信息已经被系统读取过了然后才去读取的deny

    Expires是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据,而无需再次请求

    在客户端访问图片:
    这里写图片描述


    在浏览器访问:出现乱码
    这里写图片描述
    应对策略:

    这里写图片描述

    访问静态数据不记录日志:

    要求:每天的24点备份日至。
    首先编写备份日志的脚本:

    加入定时任务中:

    执行脚本:

    在做防盗链之前我们先来看看什么时盗链:
    盗链是指服务提供商自己不提供服务的内容,自己的网站上向用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,雅思周末班而真正的服务提供商却得不到任何的收益。
    盗链的模拟:
    在客户端www.westos.org指向的是server1,172.25.7.1

    测试:http://172.25.7.2/
    server2没有此图片通过盗链而让客户端可获取到此图片
    这里写图片描述
    防止盗链:
    WEB应用防火墙通过实现URL级别的访问控制,对客户端请求进行检测,如果发现图片、文件等资源信息的HTTP请求来自于其它网站,则阻止盗链请求,节省因盗用资源链接而消耗的带宽和性能。

    当访问1的图片时直接定位至bbs.westos.org防止图片被盗链
    再次访问172.25.7.2时:
    此图片是我放入bbs的默认发布目录里的
    这里写图片描述

  • 相关阅读:
    Python 面向对象(类与对象)
    修改Centos文 7件夹所在组及权限(不同用户共用一个文件夹)
    CGPoint,CGSize,CGRect
    关于投资币圈的思考和微信群问答干货整理
    数字货币合约交易基础知识
    比特币成长大事记
    健康医疗笔记(四)癌症知识
    ​阿德勒心理学《被讨厌的勇气》一切烦恼皆源于人际关系
    免费学术论文网站Sci-Hub
    数字货币交易所开发笔记3-撮合引擎开发
  • 原文地址:https://www.cnblogs.com/zhangyanran/p/9895934.html
Copyright © 2011-2022 走看看