在某些情况下,需要对某些内容的访问进行限制,在Nginx中也提供了这样的限制措施,以下是几种常见的限制措施:

  1.访问身份验证

  在Nginx的插件模块中有一个模块ngx_http_auth_basic_module可以要求用户进行身份认证,默认情况下nginx已经安装了这个模块 。可通过命令./nginx -V查看是否有此模块。

  安装后只需要进行以下步骤即可实现:

  首先创建密钥文件:

  yum install -y httpd-tools
  htpasswd -bc /usr/nginx/conf/htpasswd.users username password
cat /usr/nginx/conf/htpasswd.users

  配置nginx:

  server
  {
  listen ;
  server_name 192.168.1.1;
  auth_basic "Restricted Access";
  auth_basic_user_file /usr/nginx/conf/htpasswd.users;
  location /
  {
  proxy_pass http://192.168.1.2:5601;
  }
  }

  配置完成后重启nginx服务即可。正常情况下会出现以下输入框输入设置的用户名和密码即可:

  

  

  2.限制IP访问

  在nginx.conf中添加以下配置可实现全局限制,也可将此配置放到server中或location中,放到server中只针对站点进行限制,location中只针对匹配的url进行限制:

  allow 192.168.1.1;  #允许的IP
  deny 192.168.1.2;
  deny all;

  可添加多条allow或deny,deny all结尾表示除了上面allow的其他都禁止,deny all;deny 一定要加一个ip,否则直接跳转到403,下面的规则将不起作用。

  

  3.限制某些ip在同一时间段内的访问次数

  nginx可以通过HttpLimitReqModul和HttpLimitZoneModule配置来限制ip在同一时间段的访问次数.

  HttpLimitReqModul用来限制连单位时间内连接数的模块,使用limit_req_zone和limit_req指令配合使用来达到限制。一旦并发连接超过指定数量,就会返回503错误。HttpLimitConnModul用来限制单个ip的并发连接数,使用limit_zone和limit_conn指令.

  这两个模块的区别前一个是对一段时间内的连接数限制,后者是对同一时刻的连接数限制.

  园子里有作者已经有过详细介绍,请参考:https://www.cnblogs.com/aoniboy/p/4730354.html

Nginx设置身份验证的更多相关文章

  1. 通过批处理 安装 mongodb和设置身份验证

    1.首先需要 mongodb.msi安装包 2.mongodb的配置文件mongod.cfg 内容如下: systemLog: destination: file path: "D:/mon ...

  2. 使用nginx代理kibana并设置身份验证

    1.在es-sever上安装nginx #wget http://nginx.org/download/nginx-1.8.1.tar.gz #tar xvf nginx-1.8.1.tar.gz # ...

  3. nginx 配置身份验证 http_auth_basic_module

    ngx_http_auth_basic_module模块实现访问必须输入用户名和密码 正确情况向访问,这为我们一些重要资源访问增添了一道安全锁. 语法:     auth_basic_user_fil ...

  4. 证明你是你——快速开启Windows Azure多重身份验证

    中国版Windows Azure的多重身份验证(Multi-Factor Authentication)功能已经开放.这个功能说白了就是要“证明你是你”.目前可以支持以下几种验证方式: 手机,短信验证 ...

  5. Asp.net 身份验证

    Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个 web应用就会连同这个身份Cookie一起 ...

  6. 【翻译】使用Vuex解决Vue中的身份验证

    翻译原文链接:https://scotch.io/tutorials/handling-authentication-in-vue-using-vuex 我的翻译小站:https://www.zcfy ...

  7. asp.net 简单的身份验证

    1 通常我们希望已经通过身份验证的才能够登录到网站的后台管理界面,对于asp.net 介绍一种简单的身份验证方式 首先在webconfig文件中添加如下的代码 <!--身份验证--> &l ...

  8. 【asp.net core 系列】13 Identity 身份验证入门

    0. 前言 通过前两篇我们实现了如何在Service层如何访问数据,以及如何运用简单的加密算法对数据加密.这一篇我们将探索如何实现asp.net core的身份验证. 1. 身份验证 asp.net ...

  9. 微软如何绑定二次验证码_虚拟MFA_两步验证_身份验证?

    1.登陆Microsoft账户,找到二次验证绑定界面 进入Microsoft,点右上角用户头像进行登陆.之后点“安全性”. 之后点击[更多安全选项] 找到“身份验证应用”(注意不是“双重验证”).点击 ...

随机推荐

  1. 20170723-Ioc与AOP

    Ioc与AOP 功能.语法.分类.原理.例子.补充(AOP-Ioc-DI) 1.AOP: ①功能体现:是拦截,过滤器: ②相关语法:借助特性语法作为切入点: ③实现方式分类:动态代理+静态织入: ④实 ...

  2. 算法-java代码实现希尔排序

    希尔排序 第8节 希尔排序练习题 对于一个int数组,请编写一个希尔排序算法,对数组元素排序. 给定一个int数组A及数组的大小n,请返回排序后的数组.保证元素小于等于2000. 测试样例: [1,2 ...

  3. mysql 批量更新与批量更新多条记录的不同值实现方法

    作者: 字体:[增加 减小] 类型:转载 时间:2013-10-02 我要评论 在mysql中批量更新我们可能使用update,replace into来操作,下面小编来给各位同学详细介绍mysql ...

  4. mysql中能够使用索引的典型场景

    mysql 演示数据库:http://downloads.mysql.com/docs/sakila-db.zip 匹配全值 explain select * from rental where re ...

  5. 基于esp8266的智能台灯DIY

    研究esp8266已经很久了,特制作了一个智能灯, 代码如下,总结几点 一.关于arduino pro mini 的烧写方法 一定要在编译成功之后的下载提示出现的瞬间,单击复位按钮.才可进入烧写 二. ...

  6. junit忽略测试方法

    JUnit 提供注解 org.junit.Ignore 用于暂时忽略某个测试方法或者说整个类.因为有时候由于测试环境受限,并不能保证每一个测试方法都能正确运行. 1,方法级别上使用@ignore来注释 ...

  7. java常用类--系统相关

    java提供了System类和Runtime类来与程序的运行平台进行交互. System类 System类代表java程序的运行平台,程序不能创建这个类的对象,System类提供了一些类field和方 ...

  8. GDB 的使用

    gdb使用: 1.编译时必须加-g选项,生成调试需要的信息.如 g++    xxx.cpp   -o   xxx    -g 2.调试最好结合core文件 3.调试命令:gdb   xxx    x ...

  9. iOS 设置文本中指定某段文本的颜色 大小

    NSString *money = @"300"; NSString *perStr = @"元/时"; NSString *text = [NSString  ...

  10. CSS初了解

    1.在网页中, html负责的是一个页面的结构 css(层叠式表)是网页中的数据样式 2.编写css代码方式: A: 在style标签中编写代码,只能用在本页面中,复用性不强. 格式:<styl ...