NGINX阻止指定ip的请求问题及解决方案

 更新时间:2024年02月01日 11:22:16   作者:疯癫的老码农  
web页面做了一个功能,在websocket请求失败的情况,会定时向服务端进行重试进行建立连接,这篇文章给大家介绍NGINX阻止指定ip的请求问题及解决方案,感兴趣的朋友一起看看吧

业务场景:

web页面做了一个功能,在websocket请求失败的情况,会定时向服务端进行重试进行建立连接。
存在的问题是即使这个web系统没人操作的情况下,只要页面没有关闭,即使系统超时了页面也没有发生跳转,这就有点像对服务器进行攻击一样。

问题分析:

经过分析,从上述描述的情况来看,有如下问题:
1、系统超时的时候,页面应该要一个跳转,例如跳转到登陆页面。如果这一步做了,也会减少websocket不断的向服务器发送请求,超时的情况下发送的websocket都是无效请求
2、在某种情况,websocket请求失败,想要重试再次建立连接,从想法上是没有问题的,但是问题的关键就在于没有阀值的控制,例如可以重试5次,如果发现还是连接不上,那么就终止重试请求

解决方案:

1、系统超时的时候,页面跳转到登陆页面就可以了。前端可以根据检测操作事件,根据时间来控制,如果超时了,那么就自动跳转。
2、重试次数控制,增加业务逻辑就可以了,也没有特别的。
3、因为这种不断的请求就会导致服务端很痛苦,尤其是那种系统超时过来的无效的请求。如果想要临时阻止这种情况,NGINX上是可以配置的。
1)、识别请求IP
可以到NGINX的日志文件中取查看,logs/access.log, 下面是摘出来一条日志:

192.0.79.100 - - [31/Jan/2024:11:39:34 +0800] "GET /prod-api/getRouters HTTP/1.0" 200 7495 "域名XXXX" 
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" "192.0.79.10"

我从上面可以看出,请求来源于192.0.79.100

2)、配置想要阻止的请求地址

location / {
    deny 192.0.79.100;
}

3)、重启NGINX

./nginx -s reload

4)、测试请求

当192.0.79.100机器再次往这个NGINX发起请求的时候,发现页面报错了,那么就代表以及成功阻拦了请求

到此这篇关于NGINX如何阻止指定ip的请求的文章就介绍到这了,更多相关nginx 阻止指定ip的请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解nginx高并发场景下的优化

    详解nginx高并发场景下的优化

    这篇文章主要介绍了详解nginx高并发场景下的优化,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 详解nginx同一端口监听多个域名和同时监听http与https

    详解nginx同一端口监听多个域名和同时监听http与https

    这篇文章主要介绍了详解nginx同一端口监听多个域名和同时监听http与https的相关资料,需要的朋友可以参考下
    2017-05-05
  • 基于Xen的VPS ubuntu+nginx+php安装教程

    基于Xen的VPS ubuntu+nginx+php安装教程

    跟踪vps已经很久了,但是因为需要特殊端口开服务,所以符合条件的多为Xen平台的vps。众多比较之后选择了vpslink在西雅图机房,速度还不错。
    2010-07-07
  • Nginx防御DDOS攻击的配置方法教程

    Nginx防御DDOS攻击的配置方法教程

    Nginx是一款轻量级的Web服务器,由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引Rambler使用。 下面这篇文章主要给大家介绍了关于Nginx防御DDOS攻击的配置方法,需要的朋友可以参考下。
    2017-07-07
  • Centos7 安装Nginx整合Lua的示例代码

    Centos7 安装Nginx整合Lua的示例代码

    这篇文章主要介绍了Centos7 安装Nginx整合Lua的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • nginx的语法(基本语法和组成部分)

    nginx的语法(基本语法和组成部分)

    Nginx是一个高效、稳定的开源Web服务器和反向代理服务器,也可以用作邮件代理服务器、负载均衡器和HTTP缓存,很多人都选择nginx作为web服务器使用,下面是Nginx配置文件的一些基本语法和组成部分,使用Nginx的朋友可以了解一下
    2023-05-05
  • 比较完整的Nginx配置文件nginx.conf常用参数中文详解

    比较完整的Nginx配置文件nginx.conf常用参数中文详解

    这篇文章主要介绍了比较完整的Nginx配置文件nginx.conf常用参数中文详解,需要的朋友可以参考下
    2015-07-07
  • nginx内部访问特性如何实现静态资源授权访问

    nginx内部访问特性如何实现静态资源授权访问

    这篇文章主要介绍了nginx内部访问特性如何实现静态资源授权访问方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Nginx修改默认80端口(解决跟Tomcat的端口冲突)

    Nginx修改默认80端口(解决跟Tomcat的端口冲突)

    本文主要介绍了Nginx修改默认80端口(解决跟Tomcat的端口冲突),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Nginx一个域名访问多个项目的方法实例

    Nginx一个域名访问多个项目的方法实例

    这篇文章主要给大家介绍了关于Nginx一个域名访问多个项目的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12

最新评论