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高级用法汇总的更多相关文章

  1. nginx高级用法

    功能 说明 配置语法 配置位置 配置举例 结果验证 备注 rewrite 跳转重定向(不同于代理的跳转重定向,此处nginx不是代理服务器,而是本身就是web服务器) rewrite 正则表达式 re ...

  2. Python进阶:切片的误区与高级用法

    2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ...

  3. nginx 场景业务汇总 (中)

    本文链接:http://www.cnblogs.com/zhenghongxin/p/8906225.html,如果可以,请阅读上篇 <nginx场景业务汇总(初)> (十三)负载均衡 轮 ...

  4. Python切片中的误区与高级用法

    众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串.列表.元组...)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢? 切片(slice)就是一种截取索引片段的技术,借助切片 ...

  5. redis的Linux系统安装与配置、redis的api使用、高级用法之慢查询、pipline事物

    今日内容概要 redis 的linux安装和配置 redis 的api使用 高级用法之慢查询 pipline事务 内容详细 1.redis 的linux安装和配置 # redis 版本选择问题 -最新 ...

  6. Visual Studio 宏的高级用法

    因为自 Visual Studio 2012 开始,微软已经取消了对宏的支持,所以本篇文章所述内容只适用于 Visual Studio 2010 或更早期版本的 VS. 在上一篇中,我已经介绍了如何编 ...

  7. SolrNet高级用法(分页、Facet查询、任意分组)

    前言 如果你在系统中用到了Solr的话,那么肯定会碰到从Solr中反推数据的需求,基于数据库数据生产索引后,那么Solr索引的数据相对准确,在电商需求中经常会碰到菜单.导航分类(比如电脑.PC的话会有 ...

  8. sqlalchemy(二)高级用法

    sqlalchemy(二)高级用法 本文将介绍sqlalchemy的高级用法. 外键以及relationship 首先创建数据库,在这里一个user对应多个address,因此需要在address上增 ...

  9. Solr学习总结(六)SolrNet的高级用法(复杂查询,分页,高亮,Facet查询)

    上一篇,讲到了SolrNet的基本用法及CURD,这个算是SolrNet 的入门知识介绍吧,昨天写完之后,有朋友评论说,这些感觉都被写烂了.没错,这些基本的用法,在网上百度,资料肯定一大堆,有一些写的 ...

随机推荐

  1. win10如何查看文件扩展名

    就可以修改扩展名,修改文件类型.

  2. 浏览器端时间循环与nodejs端时间循环的不同之处(宏任务与微任务)

    浏览器端与node端都有宏任务与微任务的概念.字面意思上看宏任务就是耗时间比较长的任务,而微任务是耗时短的任务. 在浏览器端,宏任务包括setTimeout,setInterval,微任务则包括Pro ...

  3. struts2.5入门

    引用链接:https://www.cnblogs.com/qulianqing/p/6627746.html

  4. Tomcat源码分析 -- Tomcat整体架构

    引用链接:https://blog.csdn.net/w1992wishes/article/details/79242797

  5. bashrc和bash_profile

    在~/.bashrc中起别名 !/bin/bash下必须加上shopt -s expand_aliases #!/bin/sh下不用 shopt -s expand_aliases 这一条命令让she ...

  6. Container and Injection in Java

    一.Container 1.为什么使用Container 通常,瘦客户端多层应用程序很难编写,因为它们涉及处理事务和状态管理.多线程.资源池和其他复杂的低级细节的复杂代码行.基于组件和独立于平台的Ja ...

  7. vue---checkbox,获取选中的值

    html: <input class="weui-check" type="checkbox" name="checkbox1" va ...

  8. python入门(十三):面向对象(继承、重写、公有、私有)

    1. 三种类定义的写法  class P1:#定义类   加不加()都可以    pass   class P2():                    #带(),且括号中为空,类定义 pass ...

  9. select 自匹配问题

    原生js给select赋值或者vue绑定数据,会自匹配下拉选项的value或者key,从而显示对应的label或者对应的option的html eg: 原生: <select name=&quo ...

  10. string转可空类型

    string类型转可空类型 string.IsNullOrEmpty(str) ? (int?)null : int.Parse(str) 此处要注意将null转为可空的类型才可以,不然会报错