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

相关推荐

  • grafana 中文设置

    在 Grafana 中设置中文显示可以分为几个步骤: 这样就可以在 Grafana 中看到中文了。

    2023年3月20日
    7.6K00
  • 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日
    5.5K00
  • 网站期末架构

    用户向 发起访问请求 负载均衡器(Nginx 七层负载均衡区分移动端和PC端,LVS四层负载均衡可以处理高并发请求)将请求进行分发 Tomcat等web服务器根据请求内容,进行任务分发 如果请求内容需要快速响应,则将请求发送到MenCache、Redits等缓存数据库,然后将修改内容更新到SQL数据库集群 如果是普通的读写请求,则进行读写分离操作,读取和写入…

    2022年6月18日
    1.4K00
  • Discuz! Database Error的解决办法

    原因一:数据库表太大 比如mysql数据库的表内容太大,超过10G就有可能会影响discuz论坛的运行。 这种情况可以通过对数据库分表的方法来解决。 原因二:数据库配置错误 有时候可能是主机搬家、数据库搬家等,造成数据库信息填写错误,或旧数据库信息没有及时更新等,比如数据库用户名、密码、数据库表填写错误等。 可以修正一下相关数据库信息即可,可以找到confi…

    2023年2月21日
    1.5K00
  • YAML语法简易入门

    YAML语言的设计参考了JSON,XML和SDL等语言。YAML 强调以数据为中心,简洁易读,编写简单。 有意思的命名: AML全称是”YAML Ain’t a Markup Language”(YAML不是一种置标语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:”Yet Another Markup Language”(仍是一种置标语言)。 …

    2023年9月12日
    1.5K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信