nginx高级用法汇总
1,nginx限制IP访问,允许IP访问
1.1 模块:nginx_http_access_module
注意:检测顺序是按配置顺序进行的,匹配首条规则将会被使用,所以要注意在配置文件配置的顺序。
a,指令:allow
语法:allow [address|CIDR|all]
默认:none
使用环境:http,server,location,limit_except
功能:指定网络地址或IP允许访问
b,指令:deny
语法:deny[address|CIDR|all]
默认:none
使用环境:http,server,location,limit_except
功能:指定网络地址或IP禁止访问
1.3 示例:
location / {
root /usr/share/nginx/html;
allow 192.168.20.150;
deny all;
}
2,提供FTP下载功能
2.1 模块:ngx_http_autoindex_module
注意:它的功能是在一个没有index.html的目录中提供文件的自动列表,换言之,只有ngx_http_index_module找不到index文件时,客户端的请求才会到ngx_http_autoindex_module
2.2 指令
a,指令:autoindex
语法:autoindex[on|off]
默认:autoindex off
使用环境:http,server,location
功能:启用或禁用自动目录列表
b,指令:autoindex_exact_size
语法:autoindex_exact_size[on|off]
默认:autoindex_exact_size on
使用环境:http,server,location
功能:用于在目录列表中设定文件大小的格式,如果是以精确的大小显示,就使用KB, 如果是以取整表示,就使用KB,MB,GB,默认为精确显示大小。
c,指令:autoindex_localtime
语法:autoindex_localtime[on|off]
默认:autoindex_localtime off
使用环境:http,server,location
功能:j是否在目录列表中以本地是间显示文件的时间,默认为off,即使用GMT时间,使用该指令要注意,在时间显示上有很大不同
2.3 示例:
location / {
root /ftp;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
limit_rate 1k; #指定每秒该连接能下载的bytes,主要用来限制个别请求的带宽
}
效果如下:

3,提供访问身份验证功能
3.1 模块:ngx_http_auth_basic_module
注意:它的功能是使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问。
3.2 指令
a,语法:auth_basic string | off;
默认:auth_basic off;
使用环境:http, server, location, limit_except
功能:开启使用“HTTP基本认证”协议的用户名密码验证。 指定的参数被用作 域。 参数off可以取消继承自上一个配置等级 auth_basic 指令的影响。
b,指令:auth_basic_user_file file
语法:auth_basic_user_file file
默认:-
使用环境:http, server, location, limit_except
功能:指定保存用户名和密码的文件
3.3,示例:
1,yum -y install httpd-tools # 安装 htpasswd 工具
2,htpasswd -bc /usr/nginx/conf/user.passwd username password
3,vim nginx.conf
server {
listen 80;
server_name localhost;
auth_basic "nginx Auth";
auth_basic_user_file /usr/nginx/conf/user.passwd;
....
}
nginx高级用法汇总的更多相关文章
- nginx高级用法
功能 说明 配置语法 配置位置 配置举例 结果验证 备注 rewrite 跳转重定向(不同于代理的跳转重定向,此处nginx不是代理服务器,而是本身就是web服务器) rewrite 正则表达式 re ...
- Python进阶:切片的误区与高级用法
2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ...
- nginx 场景业务汇总 (中)
本文链接:http://www.cnblogs.com/zhenghongxin/p/8906225.html,如果可以,请阅读上篇 <nginx场景业务汇总(初)> (十三)负载均衡 轮 ...
- Python切片中的误区与高级用法
众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串.列表.元组...)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢? 切片(slice)就是一种截取索引片段的技术,借助切片 ...
- redis的Linux系统安装与配置、redis的api使用、高级用法之慢查询、pipline事物
今日内容概要 redis 的linux安装和配置 redis 的api使用 高级用法之慢查询 pipline事务 内容详细 1.redis 的linux安装和配置 # redis 版本选择问题 -最新 ...
- Visual Studio 宏的高级用法
因为自 Visual Studio 2012 开始,微软已经取消了对宏的支持,所以本篇文章所述内容只适用于 Visual Studio 2010 或更早期版本的 VS. 在上一篇中,我已经介绍了如何编 ...
- SolrNet高级用法(分页、Facet查询、任意分组)
前言 如果你在系统中用到了Solr的话,那么肯定会碰到从Solr中反推数据的需求,基于数据库数据生产索引后,那么Solr索引的数据相对准确,在电商需求中经常会碰到菜单.导航分类(比如电脑.PC的话会有 ...
- sqlalchemy(二)高级用法
sqlalchemy(二)高级用法 本文将介绍sqlalchemy的高级用法. 外键以及relationship 首先创建数据库,在这里一个user对应多个address,因此需要在address上增 ...
- Solr学习总结(六)SolrNet的高级用法(复杂查询,分页,高亮,Facet查询)
上一篇,讲到了SolrNet的基本用法及CURD,这个算是SolrNet 的入门知识介绍吧,昨天写完之后,有朋友评论说,这些感觉都被写烂了.没错,这些基本的用法,在网上百度,资料肯定一大堆,有一些写的 ...
随机推荐
- arcgis point 随着 line类型的轨迹运动的动画
animate : function(frampoint,topoint,speed = 60){ var path = topoint.geometry.paths[0]; var i = 1; v ...
- 批处理BAT运行不显示DOS窗口的方法
新建记事本,写入下面内容 set ws=wscript.createobject("wscript.shell") ws.run "D:\scripts\svn-upda ...
- 知识点---js监听手机返回键,回到指定界面
方法一. $(function(){ pushHistory(); window.addEventListener(“popstate”, function(e) { window.location ...
- word交叉引用公式编号时和连公式一起引用
如下所示: 假定一副待处理图像中的灰度值个数为m,灰度值为i的像素个数为 个,那么图像中的总像素数为N,公式如m=x+y (2)所示: m=x+y ...
- 让history显示时间
如何让history显示时间 linux和unix上都提供了history命令,可以查询以前执行的命令历史记录 但是,这个记录并不包含时间项目 因此只能看到命令,但是不知道什么时间执行的 如何让his ...
- C语言典型编程3
关于C的一些小而精的编程,适合希望提升编程能力的初学者学习:关键编程也就几句,但思维可以迁移到其他编程语言.同一问题,算法多种. //判断三角形类型#include<stdio.h>mai ...
- [转]11个教程中不常被提及的JavaScript小技巧
原文地址: https://www.cnblogs.com/ld1024/p/10723827.html 这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日 ...
- atom使用技巧
文本 批量处理 正则 空格换成换行:Atom替换换行符直接[Ctrl]+[F],然后选择正则,输入\n
- pandas的一些
在具体谈及骚操作之前先捋一遍基本的统计特征函数 方法名 函数功能 所属库 sum() 计算数据样本的综合(按照列计算) pandas mean() 计算数据样本的算术平均数 pandas var() ...
- Java 数据类型与运算符
JAVA数据类型分基本(内置)数据类型和引用数据类型. 区别: 基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上. 引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存 ...