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

相关推荐

  • Php如何配置mysqli扩展

    从官网上下载php后(我下的是php7.2.3版本),本想做个mysql的连接,但是无论怎么配置mysqli扩展,发现mysqli都没法用。 从百度上搜的那些方法都没法用,发现都是一些在php.ini中配置extension=php_mysqli.dll,事实上这句话没用了。 于是我仔细看了一下php.ini的配置文件,发现了一段话 大意就是以前php些版本…

    2022年6月22日
    1.4K00
  • 用 Nginx 禁止国外 IP 访问我的网站

    看了下 Nginx 的访问日志,发现每天有好多国外的 IP 地址来访问我的网站,并且访问的内容基本上都是恶意的。因此我决定禁止国外 IP 来访问我的网站。 想要实现这个功能有很多方法,下面我就来介绍基于 Nginx 的 ngx_http_geoip2 模块来禁止国外 IP 访问网站。 ①安装 geoip2 扩展依赖: ②下载 ngx_http_geoip2_…

    2023年4月24日
    1.2K00
  • IIS php网站 无法在<fastCGI>应用程序配置中找到<handler> scriptProcessor

    打开后会发现,根目录里面会自动生成的多出来的这个文件【web.config】直接删除掉,然后再去刷新一下你的页面就可以正常显示了 改你的路径。

    2023年4月6日
    1.3K00
  • YAML语法简易入门

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

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

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

    2024年2月28日
    2.2K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信