Nginx访问限制配置


nginx访问限制可以基于两个方面,一个是基于ip的访问控制,另一个是基于用户的信任登陆控制

下面我们将对这两种方法逐个介绍


基于IP的访问控制
介绍: 可以通过配置基于ip的访问控制,达到让某些ip能够访问,限制哪些ip不能访问的效果

这是允许 访问的配置方法
配置语法:allow address | CIDR | unix | all;
默认配置:没有配置
配置路径:http、server、location、limit_except下;


这是不允许访问的配置方法
配置语法:deny address | CIDR | unix | all;
默认配置:没有配置
配置路径:http、server、location、limit_except下;

基于IP访问限制的测试
1. 查看本机ip地址,如果是公网,则到 ip138网查看,如果是试验,使用cmd查看。
2. 在 /opt/app/code/目录下添加一个 admin.html 文件,里面就是一个带着背景颜色的普通admin页面
3. 在 /etc/nginx/conf.d/目录下,修改default.conf文件,添加如下内容

由上图可知,添加了一个location,来匹配 admin.html,在里面设置了基于ip限制的配置, 将 192.xx.xx.xx 限制,不让其访问,其他的都可以访问。
4. 重新加载nginx
5. 浏览器输入网址,查看日志


6. 从上图看之,已经实现了 限制某个ip的访问,如果只允许某个ip访问,只需要改下关键字即可。



基于登陆用户信任的访问控制
举个例子,我们在访问apache信息时弹出一个用户密码框提示,来进行一个访问前验证。

配置语法:auth_basic string | off;
默认配置:auth_basic off;
配置路径:http、server、location、limit_except;

匹配配置语法: auth_basic_user_file filePath;
匹配默认配置: 没有配置
匹配配置路径: http、server、location、limit_except;

1. 需要添加一个身份文件,auth_conf 文件,这里使用一个 htpasswd工具
使用一下命令   htpasswd -c ./auth_conf  root;
解释一下:  htpasswd 命令   -c:默认是使用md5加密, ./auth_conf 是指定路径和文件 , root是用户名
输入之后,会输入两次密码

2. 修改 default.conf配置文件,修改内容如下


3. 重新加载nginx
4. 输入网址,查看结果,可以看出 要输入身份信息才能访问

Nginx访问限制配置的更多相关文章

  1. Nginx 访问日志配置

    一.Nginx 访问日志介绍 Nginx 软件会把每个用户访问网站的日志信息记录到指定的日志文件里,供网站提供者分析用户的浏览行为等,此功能由 ngx_http_log_module 模块负责. 二. ...

  2. Nginx访问限速配置方法详解

    开发测试阶段在本地限速模拟公网的环境,方便调试.投入运营会有限制附件下限速度,限制每个用户的访问速度,限制每个IP的链接速度等需求. 配置简单,只需3行,打开"nginx根目录/conf/n ...

  3. Nginx访问权限配置

    最近建个人网站,在服务器上新建了一个用户zengfp,并且把网站的目录放到了/home/zengfp/www目录下,配置的nginx: server { listen 80 default_serve ...

  4. nginx 访问路径配置

    比如: http://127.0.0.1/ 对应的物理路径 c:/a/b/c 比如:http://127.0.0.1/eec 访问的地址对应的物理路径: d:/a/b/c #user nobody; ...

  5. Nginx (安装+ 配置域名+ 访问认证 +发布文件)

    一.Nginx介绍: Nginx是一款高性能的HTTP和反向代理服务器,能够选择高效的epoll(linux2.6内核).kqueue(freebsd).eventport(solaris10)作为网 ...

  6. Nginx访问限制模块limit_conn_zone 和limit_req_zone配置使用

    nginx可以通过limit_conn_zone 和limit_req_zone两个组件来对客户端访问目录和文件的访问频率和次数进行限制,另外还可以善用进行服务安全加固,两个模块都能够对客户端访问进行 ...

  7. nginx访问静态文件配置

    通过nginx访问静态文件配置,均是在server模块中配置,有两种方式: 1.alias 通过alias关键字,重定义路径,如 server{     listen 7001;     server ...

  8. nginx安装及配置访问本地文件

    第一步安装nginx windows可以直接去官网下载,解压就能用 http://nginx.org/en/download.html ubuntu用命令行 sudo apt-get install ...

  9. 使用宝塔面板 配置nginx 访问ftp服务器下面的图片

    如果 你在服务器上 运行war项目 可以在tomcat 配置访问的: tomcat 也贴出来吧! 一.tomca配置访问,需要更改配置文件server.xml ,如果找不到,自己好好找一下  一般在 ...

随机推荐

  1. react-native-swiper设定高度的方法(设置rn轮播图所占高度)

    效果图: 直接上解决方案: 1.在Swiper标签外套一层View <View style={styles.container}> <Swiper style={styles.wra ...

  2. 基于layui的表格异步删除,ajax的简单运用

    h话不多说,看图,点击删除,出现确认框,然后点击确认删除,直接删除数据, 因为是基于面向过程的,没有用php框架写,所以有3个文件: 第一个文件:data.php:用于从数据库中获取数据 <?p ...

  3. Redis高级特性及应用场景

    Redis高级特性及应用场景 redis中键的生存时间(expire) redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它. 过期时间可以设置为秒或者毫秒精度. ...

  4. 阿里云安装 fastdfs 总结

    还要开放 23000  22122,添加进安全组

  5. Docker容器时间与主机时间相差8小时

    查看主机时间 [root@localhost ~]# date 2016年 07月 27日 星期三 22:42:44 CST 查看容器时间 root@b43340ecf5ef:/# date Wed ...

  6. 用curl指令访问api-server

    可以直接用curl指令访问api-server,一种是将kubeconfig中所包含的证书抠出来作为参数给curl指令使用.这种方法操作起来比较复杂.还要一种很简单的方法: 首先执行 kubectl ...

  7. VS Code中内置终端运行C中文乱码问题

    环境:Win10 + VS Code + Code Runner插件 原因:VS Code默认文件编码为 UTF-8,生成的可执行文件也是UTF-8编码的,但是系统编码为 GB2312,所以程序中的中 ...

  8. python程序开子进程打包成exe文件运行炸内存原因剖析

    首先给出伪代码 from multiprocessing import Process def task(): print("hahaha") pass if __name__ = ...

  9. Centos7 安装python3.8和pip

    安装python3 yum -y install yum-utilsyum-builddep pythoncurl -O https://www.python.org/ftp/python/3.8.0 ...

  10. Redis(1.9)Redis主从复制

    [1]实验环境 CentOS7.5 + Redis4.0.11 架构:原生1主2从,做实验机器有限,从库双实例 主库:192.168.135.170 从库1:192.168.135.171~6379 ...