nginx安全:配置allow/deny控制ip访问

一,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地址限制

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

二,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;
}

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7451

(0)
郭靖的头像郭靖
上一篇 2023年2月28日 下午5:16
下一篇 2023年3月1日 下午4:53

相关推荐

  • 解决Composer Installing dependencies from lock file

    1、问题描述 2、原因 这是因为不匹配composer.json要求的版本。提示我的PHP 7版本太高,不符合composer.json需要的版本,但是在PHP 7下应该也是可以运行的,composer可以设置忽略版本匹配。 3、解决方案 composer install –ignore-platform-reqs 或者 composer update -…

    2023年2月14日
    1.2K00
  • IIS怎么设置应用程序池自动回收

    1、打开 IIS 管理控制台,双击“应用程序池”文件夹。 2、右击适当的应用程序池,然后单击“高级设置”。出现应用程序池的属性对话框。 3、默认回收是有一个固定时间间隔的,但是太长了 4、点击特定时间后面的三个点 5、然后点击添加按钮,接着在Value里面设置时间点,如下图所示 6、最后可以设置多个时间点,如下图所示

    2022年8月9日
    2.2K00
  • DedeCMS系统后台登陆并跳转回登陆界面的解决方法

    问题描述 在登陆界面输入账号密码后会有3-5秒的卡顿才会进入下面的页面,然后再卡顿3-5秒就跳回登陆界面。 解决方法 Windows系统 出现该问题的原因是网站web目录没有写入权限,因此只要将web目录增加写入权限即可 Linux系统 修改DATA和sessions的目录属性为可写,即(777) 清空sessions内除index.html以外的所有文件 …

    2022年8月22日
    1.2K00
  • ThinkPHP 出现“您浏览的页面暂时发生了异常!请稍后再试~”的解决方法

    ThinkPHP3.0 第一次运行入口文件,之后在修改Action只要是有数据库操作,就会出现“您浏览的页面暂时发生了错误!请稍后再试~”的系统提示错误。 解决办法是: 把项目里自动生成的runtime文件夹下~runtime.php文件删掉,再刷新浏览器页面就会正常显示数据库提取的信息

    2024年2月28日
    2.0K00
  • 宝塔部署java项目

    进入宝塔官方网站 url地址 https://www.bt.cn/download/linux.html 下滑看到安装命令(我这边使用的是centos7.8)复制相应脚本命令 Centos安装脚本 输入复制的命令 等待安装宝塔面板,粘贴点击回车即可 中间会输入一次确认是否安装 输入 y 回车 安装需要一小段时间,最后当出现有宝塔面板地址和账号密码的时候证明安…

    2023年4月3日
    1.1K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信