nginx之访问控制
Nginx的源码提供了ngx_http_auth_basic_module这个模块,它可以来解决web访问认证的问题。这个模块是默认就编译进nginx的,可以直接拿来使用。
ngx_http_auth_basic_module它提供了最基本的http认证,这是http协议支持的,它会弹出一个框让你输入用户名和密码,只有用户名和密码输入正确了才能访问,这样就能保证自己的web不被任何人所访问。
ngx_http_auth_basic_module是使用文件作为存储介质的,用户名是明文存储,而密码是加密之后再存储,这样在认证框输入的用户名和密码必须和文件的信息匹配才能认证成功。这里使用htpasswd这个命令来生成存放用户名和密码的文件。
centos yum -y install httpd ubuntu sudo apt-get install apache2-utils
安装完成之后,就可以使用htpasswd命令了
参数说明:
-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.
-n 不更新passwordfile,只将加密后的用户名密码显示在屏幕上;
-m 默认采用MD5算法对密码进行加密
-d 采用CRYPT算法对密码进行加密
-p 不对密码进行进行加密,即使用普通文本格式的密码
-s 采用SHA算法对密码进行加密
-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
-D 删除指定的用户
基本使用:
htpasswd -cb /usr/local/nginx/conf/htpasswd lanlang 123456
更多示例:
交互模式
htpasswd -c /application/nginx/conf/htpasswd lanlang New password: Re-type new password: 不用交互的模式 htpasswd -bc /application/nginx/conf/htpasswd lanlang 1234565 说明:在/application/nginx/conf/目录下生成一个htpasswd文件,用户名lanlang,密码:123456,默认采用MD5加密方式。 在原有密码文件中增加下一个用户 注:去掉-c选项即可在第一个用户之后添加第二个用户 htpasswd -b /application/nginx/conf/htpasswd new-user 1234565 不更新密码文件,只在屏幕上输出用户名和经过加密后的密码。 htpasswd -nb lanlang 1234565 利用htpasswd命令删除用户名和密码 htpasswd -D /application/nginx/conf/htpasswd lanlang 利用htpasswd命令修改密码, htpasswd 并没有直接修改密码的函数,需要先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能 htpasswd -D /application/nginx/conf/htpasswd lanlang htpasswd -b /application/nginx/conf/htpasswd lanlang 1234565
nginx添加配置信息
auth_basic "Please Enter Your Auth Info";
auth_basic_user_file "/usr/local/nginx/conf/htpasswd";
示例:
server {
listen 80;
server_name res.yinnote.com;
auth_basic "登录认证";
auth_basic_user_file /usr/local/openresty/nginx/conf/pass_file;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
root /mnt/html/resource;
index index.html index.php;
}
最终效果

nginx之访问控制的更多相关文章
- Nginx IP访问控制,只允许指定的IP地址访问
Nginx可以进行IP访问控制,配置指定的IP地址访问服务器网站 今天领导提出一个新的业务需求,网站上线时让外部用户在上线时间段访问到的页面是维护页面,公司内部员工在上线时段可用正常访问公司的网站. ...
- Nginx详解九:Nginx基础篇之Nginx的访问控制
基于IP的访问控制:http_access_module 不允许指定网段的用户访问:配置语法:deny address | CIDR | unix: | all;默认状态:-配置方法:http.ser ...
- nginx的访问控制
一.基于Basic Auth认证与基于IP的访问控制 一.基于Basic Auth认证 Nginx提供HTTP的Basic Auth功能,配置了Basic Auth之后,需要输入正确的用户名和密码之后 ...
- 基于Nginx实现访问控制、连接限制
0 前言 Nginx自带的模块支持对并发请求数进行限制, 还有对请求来源进行限制.可以用来防止DDOS攻击.阅读本文须知道nginx的配置文件结构和语法. 1. 默认配置语法 nginx.conf作为 ...
- nginx之访问控制http_access_module与http_auth_basic_module
http_access_module 作用 基于IP的访问控制 语法 使用 局限性 解决办法 1. http_x_forwarded_for http_auth_basic_module 作用 基于用 ...
- 全面掌握Nginx配置+快速搭建高可用架构 一 Nginx的访问控制
语法 示例 allow 127.0.0.1; deny all; 缺点:局限性 如果通过代理就可以绕过访问限制,限制不准确 解决 1. http_x_forwarded_for 2. 结合geo模块作 ...
- LNMP配置——Nginx配置 ——访问控制
#vi /usr/local/nginx/conf/vhost/test.com.conf 写入: server { listen 80; server_name test.com test1.com ...
- nginx 请求限制和访问控制
请求限制 限制主要有两种类型: 连接频率限制: limit_conn_module 请求频率限制: limit_req_module HTTP协议的连接与请求 HTTP协议是基于TCP的,如果要完成一 ...
- 006.Nginx访问控制
一 Nginx连接限制 1.1 HTTP协议的连接与请求 HTTP是建立在TCP, 一次HTTP请求需要先建立TCP三次握手(称为TCP连接),在连接的基础上再进行HTTP请求. HTTP请求建立在一 ...
- nginx应用总结(1)--基础认识和应用配置
在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务 ...
随机推荐
- Unity中利用遗传算法训练MLP
Unity中利用遗传算法训练MLP 梯度下降法训练神经网络通常需要我们给定训练的输入-输出数据,而用遗传算法会便捷很多,它不需要我们给定好数据,只需要随机化多个权重进行N次"繁衍进化&quo ...
- Bit, Byte, ASCII, Unicode, UTF, Base64
前言 做项目偶尔会接触到 stream 这个感念,不管是 memory stream 还是 file stream,它们又会提到 bytes. 还有像 Identity – 安全基础知识 中提到的 S ...
- 系统编程-文件IO-dup和dup2系统调用
在linux下,一切皆文件. 文件描述符用于操作文件. 从shell中运行一个进程,默认会有3个文件描述符存在(0.1.2):)0表示标准输入,1表示标准输出,2表示标准错误. 一个进程当前有哪些打开 ...
- KASAN 中kasan_multi_shot 的作用
kasan_multi_shot 是 Linux 内核配置选项之一,与 Kernel Address Sanitizer (KASAN) 相关.KASAN 是一种内核内存错误检测工具,能够检测内核代码 ...
- iOS多项选项卡TYTabPagerBar和分页控制器TYPagerController使用小结
最近做项目的时候,用到了顶部选项卡和底部分页控制器相关的功能.之前做的话都是自己手动封装,通过两个UIScrollView联动来实现.公司同事给推荐了一个封装好的库, TYPagerControlle ...
- 01-react的基本使用
// 导入react和react-dom包 类似 vue 中的 import vue from 'vue' import react from 'react' // 内部的组件 import reac ...
- 【Treatment-Rec 论文阅读】Data-driven Automatic Treatment Regimen Development and Recommendation
Data-driven Automatic Treatment Regimen Development and Recommendation Authors: Leilei Sun, Chuanren ...
- kotlin函数和Lambda表达式——>内联函数
1.内联函数 使用高阶函数会带来一些运行时的效率损失:每一个函数都是一个对象,并且会捕获一个闭包.即那些 在函数体内会访问到的变量.内存分配(对于函数对象和类)和虚拟调用会引入运行时间开销. 但是在许 ...
- 云原生周刊:KubeCon China 2023 详细议程公布 | 2023.8.7
开源项目推荐 Spiderpool Spiderpool 是一个 Kubernetes 底层网络解决方案.它提供丰富的 IPAM 功能和 CNI 集成能力,为开源社区的 CNI 项目提供支持,允许多个 ...
- Python实现回数
题目:回数是指从左向右读和从右向左读都是一样的数,例如 12321,909.请利用 filter()滤掉非回数: 思路:要实现回数判断,主要是将输入的数找到其各个位置的值,然后判断前后相对应的位置是否 ...