Nginx配置访问权限
基于IP配置Nginx的访问权限
Nginx配置通过两种途径支持基本访问权限的控制,其中一种是由HTTP标准模块ngx_http_access_module支持的,通过IP来判断客户端是否拥有对Nginx的访问权限,这里包括两个指令:
allow指令,用于设置允许访问Nginx的客户端IP;
allow address | CIDR | all
#address,允许访问的客户端IP,不支持同时设置多个。如果有多个IP需要设置,需要重复使用allow指令
#CIDR,允许访问的客户端的CIDR地址,例如 172.10.10.1/100,前面是32位IP地址,后面“\25”代表该IP地址中前25位是网络部分,其余位代表主机部分。
#all,代表允许所有客户端访问。
从Nginx 0.8.22版本后,该命令也支持IPv6地址,比如:
allow 2620:100:e000::8001;
deny指令,与allow正好相反,用于设置禁止访问Nginx客户端IP
deny address | CIDR | all;
这两个指令可以在http块、server块或者location块中配置。
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
deny all;
}
在以上例子中192.168.1.0/24客户端是可以访问的。因为,Nginx配置在解析的过程中,遇到deny指令或者allow指令是按照顺序对当前客户端的连接进行访问权限检查的。如果遇到匹配的配置时,则停止继续向下搜索相关配置。因此,当192.168.1.0/24客户端访问时,Nginx在第三行解析配置发现允许该客户端访问,就不会继续向下解析第4行了。
基于密码配置Nginx的访问权限
Nginx 还支持基于HTTP Basic Authentication 协议的认证。该协议是一种 HTTP 性质的认证办法,需要识别用户名和密码,认证失败的客户端不拥有访问Nginx服务器的权限。该功能由 HTTP 标准模块 ngx_http_auth_basic_module 支持,这里有两个指令需要学习。
auth_basic指令,用于开启或者关闭该认证功能,语法结构为:
auth_basic string | off;
其中,file为密码文件的绝对路径。
这里的密码文件支持明文或者密码加密后的文件。明文的格式如下所示:
name1:password1
name2:password2:comment
name3:password3
加密密码可以使用crypt()函数进行密码加密的格式,也可使用htpasswd命令生成:
htppasswd d:\nginx\conf\htpasswd username

myzhao是认证的账户名称,需要输入两次密码,然后htppasswd文件中保存的就是加密后的密码:
htppasswd(第三个冒号后可做注释也可没有):
myzhao:$apr1$JAVltvyq$4k0V5tWy0Ec0JI5eiZrfJ.:123456
5、6两行此次新增的配置:
location /software {
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
auth_basic "Restricted";
auth_basic_user_file htpasswd;
}
Nginx配置访问权限的更多相关文章
- 为Druid监控配置访问权限(配置访问监控信息的用户与密码)
转: l 为Druid监控配置访问权限(配置访问监控信息的用户与密码) 2014-09-26 09:21:48 来源:renfufei的专栏 收藏 我要投稿 Druid是一 ...
- nginx配置访问频率
nginx可以通过limit_conn_zone和limit_req_zone两个组件来限制客户端访问服务端的目录和文件的频率和次数,能够抵挡住部分cc.ddos攻击. 限制访问频率: http{ . ...
- nginx配置访问图片路径(windows)
简介 Nginx(("engine x")由俄罗斯的程序设计师Igor Sysoev所开发)是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.PO ...
- nginx配置访问本地静态资源
下面说说如何在windows下使用nginx作为静态资源服务器, 1.修改config目录下,这个配置文件,基本上所有的配置都在这里面做, 2.主要的配置参数如下,一些无关的参数我直接去掉了,注意,里 ...
- nginx配置访问本地资源
参考博客:https://www.cnblogs.com/xy51/p/9973326.html 需要访问路径:http://IP:10013/p1upgrade/picfiles/image73b4 ...
- kibana通过nginx配置访问用户验证
背景: 现在搭建好了efk,其中kibana是可以在网页上访问的可视化工具,搭建好的kibana默认没有访问控制权限,任何人都能访问,这样存在一些安全隐患和隐私问题.这里我把设置的访问验证过程记录一下 ...
- 使用nginx配置带有权限验证的反向代理
环境:centos6u3 1.安装nginx (1)上传nginx nginx-1.14.0.tar.gz.可以从nginx官网下载http://nginx.org/en/download.html ...
- nginx配置访问xx.com跳转www.xx.com
二.在nginx里面配置 rewrite 规则.打开 Nginx.conf 文件找到server配置段:[以下是我的server配置段] 禁止IP地址访问 server{ listen 80 defa ...
- Nginx 配置访问静态资源
做个简单的配置: 以txt/png/mp4结尾的请求都会按照如下规则寻找返回文件 关键词: location.root location ~ \.(mp4|png|txt) { root /usr/l ...
随机推荐
- 休息,考完了MCSD
终于考完了~这次的证书签名居然还是鲍尔默的.
- OpenGL ES之GLFW窗口搭建
概述 本章节主要总结如何使用GLFW来创建Opengl窗口.主要包括如下内容: OpenGl窗口创建介绍 GLFW Window版编译介绍 GLFW简单工程源码介绍 OpenGL窗口创建介绍 能用于O ...
- node 问题
安装:使用.msi直接安装就好,环境变量已经设置好了 1.问题:验证node是否正确安装 办法:直接计算1+1:创建服务器. 在项目文件夹的路径下,输入node命令,会看到一个提示符,这里只能输入直接 ...
- delphi执行一个外部程序,当外部程序结束后,delphi程序立即响应
//需要引用 ShellAPI 单元;procedure TForm1.Button1Click(Sender: TObject); var SEInfo: TShellExecuteInfo; Ex ...
- CentOS7 Docker 安装
CentOS7 已经内置了docker ,可以直接安装 安装Docker 命令: sudo yum install -y docker 启动docker 命令: service docker st ...
- Oracle Client 连接 Server 并通过代码测试连接
Oracle客户端配置 步骤一: 步骤二: 步骤三: 步骤四: 步骤五: 最后测试成功 注: 如果是客户端配置可以不用添加 程序同样可以进行连接,如果是服务器则需要配置. 程序连接 namespa ...
- Spring Boot 应用系列 2 -- Spring Boot 2 整合MyBatis和Druid
本系列将分别演示单数据源和多数据源的配置和应用,本文先演示单数据源(MySQL)的配置. 1. pom.xml文件配置 需要在dependencies节点添加: <!-- MySQL --> ...
- jQuery基础【1】
jQuery 是一个“写的更少,但做的更多”的轻量级 JavaScript 库.jQuery 极大地简化了 JavaScript 编程.jQuery 很容易学习.jQuery 库位于一个 JavaSc ...
- MySQL使用 IN 查询取出数据排序问题(与in排序相同、不排序)
MySQL使用 IN 查询取出数据排序问题(与in排序相同) 今天在项目中遇到一个问题,就是做一个最近浏览的功能,但是功能做出来了,取出数据时候要用到类似这么一条带in查询的sql语句, select ...
- 如何利用Python绘制一个爱心
刚学习Python几周,闲来无事,突然想尝试画一个爱心,步骤如下: 打开界面 打开Python shell界面,具体是Python语言的IDLE软件脚本. 2.建立脚本 单击左上角’File’,再单击 ...