一,nginx中allow/deny指令的用途

1,

Nginx的deny和allow指令是由ngx_http_access_module模块提供,

Nginx安装默认内置了该模块

2,

nginx访问控制模块:

想禁止哪个ip访问就加上deny IP,

想允许哪个ip访问就加上allow IP,

想禁止或者允许所有,则allow all或者deny all

3,常用的场景:

测试站/后台/管理工具站 等,要注意添加ip地址限制

说明:如果可以指定相应站点的端口,通过防火墙来进行限制则更安全一些

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,allow/deny指令的语法:

allow/deny address | CIDR | unix: | all

它表示,允许/拒绝某个ip或者一个ip段访问.

如果指定unix:,那将允许socket的访问。
注意:unix:是在1.5.1中新加入的功能。

在nginx中,allow和deny的规则是按顺序执行的

可配置段:     http, server, location, limit_except

说明:

1,注意在使用指令时,

如果最后不添加deny all,则可能会允许上面列出ip之外的其他ip均可访问

因为默认是allow all的,

如果只想禁止指定的ip访问,只添加deny x.x.x.x 指令即可

2,如果安全规则想针对全站,放在server段内比较安全,

如果只针对指定的目录做限制,要注意检查location的匹配

三,allow/deny的应用例子

1,只允许指定的ip访问,禁止其他ip访问

  allow 43.243.12.116;
allow 122.53.54.55;
deny all;

2,只禁止指定的ip访问,其他ip都允许访问

   deny 43.243.12.116;
deny 43.241.242.243;
allow all;

说明:allow all可以不添加

3,可以使用子网掩码来指定一个ip地址段:

deny 43.243.12.116/24;

4,一个location例子:

location / {
allow 192.168.13.0/24;
allow 10.1.5.0/16;
deny all;
}

四,测试效果:

1,用curl测试:被deny后提示了403

[root@webserver ~]$ curl http://devwww.lhdtest.net/
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>openresty</center>
</body>
</html>

2,从浏览器查看:

看截图:

五,查看nginx的版本

[root@centos8 soft]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
nginx version: nginx/1.18.0

nginx安全:配置allow/deny控制ip访问(ngx_http_access_module)的更多相关文章

  1. 【Linux】添加Nginx代理配置只允许内部IP访问

    location / { index index.jsp; proxy_next_upstream http_500 http_502 http_503 http_504 error timeout ...

  2. Ubuntu Nginx下配置网站ssl实现https访问

    最近在看  HTTP权威指南   看到介绍了HTTPS的ssl,自己就动手测试了下,将步骤记录下 HTTPS简介 什么是HTTPS?百科是这样解释的.HTTPS(全称:Hyper Text Trans ...

  3. CentOS6.5 配置防火墙+允许指定ip访问端口

    参考博文: iptables防火墙只允许指定ip连接指定端口.访问指定网站 一.配置防火墙 打开配置文件 [root@localhost ~]# vi /etc/sysconfig/iptables ...

  4. Nginx 支持 CI 框架的配置并禁止使用 ip 访问

    #CIserver {        listen      80;        server_name www.ci.com;        index       index.php index ...

  5. Mac下安装nginx并配置SSL实现Https的访问

    一.nginx安装 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/insta ...

  6. Nginx下配置网站ssl实现https访问

    第一步:服务器环境,lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的vps+免费的Linux服务器管理系统WDCP快速搭建的lnmp环境(同类产品还有 ...

  7. 【踩坑】Nginx上配置ssl证书实现https访问

    昨天开始为域名挂上ssl证书,使得可以以https去访问服务器.按照网上所介绍的配置Nginx,然而一直访问不了网站. 第二天排查了一早上,发现不单要配置Nginx,阿里云上安全组要开启443端口,并 ...

  8. Nginx下配置网站SSL实现https访问本站就是用的这方法

    本文出至:新太潮流网络博客 第一步:服务器环境,lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的ECS+免费的Linux服务器管理系统WDCP快速搭建 ...

  9. nginx优化:配置gzip压缩页面提高访问速度(nginx1.18.0)

    一,为什么nginx要使用gzip 1,压缩的作用: 页面使用gzip压缩之后, 页面大小可以压缩到原来的1/7左右, 传输速度和页面打开时间都可以大幅度提高, 有利于用户访问页面体验的提升 2,Ng ...

随机推荐

  1. C++ 读入优化&输出优化

    读入优化:读入优化只是针对整数,由于getchar()读字符非常的快,所以采用getchar()来进行读入,下设输入的数为x 负数处理:用一个标志变量f,开始时为1,当读入了'-'时,f变为-1,最后 ...

  2. Python实现加密的ZIP文件解压(密码已知)

    博主在上篇博文介绍了<Python实现加密的RAR文件解压(密码已知)>后,又尝试了ZIP文件的解压方法,下面开始分享. 当ZIP文件的压缩密码已知时,可以通过调用zipfile库进行解压 ...

  3. tcp、http 学习小结

    tcp.http 学习小结 前言 最近因为cdn的一个问题,困扰了自己好久.因为需要统计网站访问的成功数,而且要求比较精确.目前的实现不能满足要求,因为没有区别访问成功与否,也没有对超时做处理.期间解 ...

  4. 【LeetCode/LintCode】丨Google面试题:N皇后问题

    n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击(任意两个皇后不能位于同一行,同一列,同一斜线). 给定一个整数n,返回所有不同的n皇后问题的解决方案. 每个解决方案包含一个明确的 ...

  5. SSM获取SqlSessionFactory

    1.实现类获取session //根据id 修改阈值 public int altThers(threshold threshold) { SqlSessionFactoryBuilder build ...

  6. ribbon源码(1) 概述

    ribbon的核心功能是提供客户端在进行网络请求时负载均衡的能力.主要有以下几个模块: 负载均衡器模块 负载均衡器模块提供了负载均衡能力,详细参见ribbon源码之负载均衡器. 配置模块 配置模块管理 ...

  7. Redis中LIST列表的相关命令

    Redis中LIST列表的相关命令 添加 lpush 将一个或多个value插入到key的表头,如果存在多个value,那么各个value按从左到右的顺序依次插入表头 插入表头:意味着新插入的值在最前 ...

  8. centos7下安装MySQL 5.7.26 二进制版本(免安装绿色版)

    MySQL 5.7.26 二进制版本安装(免安装绿色版) 下载地址 https://downloads.mysql.com/archives/community/ https://cdn.mysql. ...

  9. is_mobile()判断手机移动设备

    is_mobile()判断手机移动设备.md is_mobile()判断手机移动设备 制作响应式主题时会根据不同的设备推送不同的内容,是基于移动设备网络带宽压力,避免全局接收pc端内容. functi ...

  10. django 的初始项目结构

    2.创建Django项目   root@dev:shiyanlou_project# workon syl (syl) root@dev:shiyanlou_project# cd /aaa/shiy ...