Nginx设置身份验证
在某些情况下,需要对某些内容的访问进行限制,在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设置身份验证的更多相关文章
- 通过批处理 安装 mongodb和设置身份验证
1.首先需要 mongodb.msi安装包 2.mongodb的配置文件mongod.cfg 内容如下: systemLog: destination: file path: "D:/mon ...
- 使用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 # ...
- nginx 配置身份验证 http_auth_basic_module
ngx_http_auth_basic_module模块实现访问必须输入用户名和密码 正确情况向访问,这为我们一些重要资源访问增添了一道安全锁. 语法: auth_basic_user_fil ...
- 证明你是你——快速开启Windows Azure多重身份验证
中国版Windows Azure的多重身份验证(Multi-Factor Authentication)功能已经开放.这个功能说白了就是要“证明你是你”.目前可以支持以下几种验证方式: 手机,短信验证 ...
- Asp.net 身份验证
Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个 web应用就会连同这个身份Cookie一起 ...
- 【翻译】使用Vuex解决Vue中的身份验证
翻译原文链接:https://scotch.io/tutorials/handling-authentication-in-vue-using-vuex 我的翻译小站:https://www.zcfy ...
- asp.net 简单的身份验证
1 通常我们希望已经通过身份验证的才能够登录到网站的后台管理界面,对于asp.net 介绍一种简单的身份验证方式 首先在webconfig文件中添加如下的代码 <!--身份验证--> &l ...
- 【asp.net core 系列】13 Identity 身份验证入门
0. 前言 通过前两篇我们实现了如何在Service层如何访问数据,以及如何运用简单的加密算法对数据加密.这一篇我们将探索如何实现asp.net core的身份验证. 1. 身份验证 asp.net ...
- 微软如何绑定二次验证码_虚拟MFA_两步验证_身份验证?
1.登陆Microsoft账户,找到二次验证绑定界面 进入Microsoft,点右上角用户头像进行登陆.之后点“安全性”. 之后点击[更多安全选项] 找到“身份验证应用”(注意不是“双重验证”).点击 ...
随机推荐
- mysql 远程连接数据库的二种方法
一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口"3306",用户名为"root",密码"123 ...
- 如何完成域名和ip地址的绑定
首先,我们要知道什么是域名绑定,所谓域名绑定就是是指已选定的域名与服务器主机的空间绑定,实在是在域名注册查询上设置或者WEB服务器上设置,使一个域名被指导向一特定空间,从而使访问者访问你的域名的时候就 ...
- SMTP错误码建议解决方法
https://wenku.baidu.com/view/0af30e01e87101f69e3195b8.html SMTP 错误码 / 建议解决方法 错误总表 101 Cannot Open Co ...
- Java 几种动态代理实现及其性能比较
原处出之于阿里liangf Interface: package com.sunchao.jdkdyproxy; public interface Subject { void request(); ...
- 5dfda1332b67817b0f2d7839242021ce'Java数据结构和算法
1.return 一个空的集合,而不是 null 如果一个程序返回一个没有任何值的集合,请确保一个空集合返回,而不是空元素.这样你就不用去写一大堆 "if else" 判断null ...
- Do you know how many stuff inside your Google Account?
My friend Sandy she wants me to do her a favor. She'd like to clear Hangouts chat history. I think s ...
- Android开发之漫漫长途 XIII——Fragment最佳实践
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- mybatis实战教程一:开发环境搭建
步骤一: 创建一个maven工程,在pom文件中加载依赖 <dependencies> <dependency> <groupId>org.mybatis</ ...
- apache (order allow,deny or deny,allow)
平台:"rhel6.2" 实验内容: "测试apache‘order allow,deny’ or ‘order deny,allow’ 功能" 配置文件:&q ...
- Django rest framework:__str__ returned non-string (type NoneType) 真正原因
出错原因: 用户表是Django中核心的表,当这个表类字段中有一个这样的函数 def __str__(self): return self.name 在Django用户表设计时候有个字段容易犯这个失误 ...