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

相关推荐

  • LNMP黄金架构的搭建

    LNMP组合工作流程 LNMP工作流是用户通过浏览器输入域名访问Nginx web服务,Nginx判断请求是静态请求则由Nginx返回给用户。如果是动态请求(如.php结尾),那么Nginx会将该请求通过FastCGI接口发送给PHP引擎(php-fpm进程)进行解析,如果该动态请求需要读取mysql数据库,php会继续向后读取数据库,最终Nginx将获取的…

    2022年7月7日
    2.1K00
  • Discuz! X 3.4, 更新PHP7.4后无法打开uc_server的解决方案!

    页面报错:Deprecated: Array and string offset access syntax with curly braces is deprecated in/www/wwwroot/***/uc_server/admin.php on line53 出现报错原因: PHP7.4不再支持使用大括号访问数组以及字符串的偏移 将53行修改为:

    2023年7月31日
    10.4K00
  • Nginx报 libraries: libgd.so.3错误

    在宝塔下安装nginx后,启动程序,有如下报错 进去系统,使用nginx -t 检查错误 通过检查发现,是缺少 libgd.so.3,缺少gd库 安装gd库 重新启动nginx,正常启动

    2022年7月6日
    2.5K00
  • FlashFXP上传失败,数据套接字错误 (10054): 连接被对等方重置问题处理

    问题如图所以 解决方案: FlashFXP选项选择参数选择 勾选图中红框选项,成功解决问题。

    2023年4月26日
    2.3K00
  • Nginx 代理 MySQL 连接,并限制可访问IP

    1.前言 我们的生产环境基本上都部署在云服务器上,例如应用服务器、MySQL服务器等。如果MySQL服务器直接暴露在公网,就会存在很大的风险,为了保证数据安全,MySQL服务器的端口是不对外开放的。 好巧不巧,线上业务遇到bug了,开发的小伙伴需要远程连接MySQL来查看数据,那应该怎么办呢? 我们可以通过Nginx代理(“跳板机”)来进行连接。 2.Ngi…

    2023年8月21日
    2.0K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信