nginx1秒接收到大量127.0.0.1原因

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx1秒接收到大量127.0.0.1原因相关的知识,希望对你有一定的参考价值。

nginx 接收到大量来自 127.0.0.1(本机)的请求,通常是因为应用程序或脚本在向 Nginx 发送大量的请求。这可能会导致系统资源不足,例如 CPU、内存、网络带宽等。导致这种情况的原因可能有很多,下面列举了一些可能的原因:

1. 应用程序或脚本中存在错误,导致反复向 Nginx 发送请求。

2. 程序或脚本的设计过程中,没有正确地处理请求之间的时间间隔,导致频繁地向 Nginx 发送请求。

3. 网站或应用程序遭受 CSRF 攻击,攻击者在本地运行脚本或程序,向 Nginx 发送大量的恶意请求。

4. 后端服务出现故障或超时,导致应用程序或脚本反复向 Nginx 发送请求。

为了解决这个问题,可以通过调整 Nginx、应用程序、脚本或服务器的配置来减少请求量。例如:

1. 在 Nginx 配置文件中,可以设置最大请求数量和请求速率限制等参数,以减轻服务器的负载。

2. 可以优化应用程序或脚本,尽可能地减少请求的数量,或在代码中添加适当的时间间隔,以控制请求的发送速率。

3. 可以使用防火墙等安全设备来防止 CSRF 攻击,或对应用程序设计进行改进。

4. 在后端服务出现故障或超时时,可以使用负载均衡等策略来减轻服务器的压力。
参考技术A Nginx 接收到大量的 127.0.0.1 请求通常是因为当 Nginx 和后端服务之间的通信出现问题时,请求会被重定向到本地主机(127.0.0.1)。这种情况可能发生在以下几种情况下:

1. 后端服务出现故障或宕机,导致 Nginx 无法通过网络连接到它。
2. 后端服务处理请求的速度过慢,导致 Nginx 等待响应超时,并将请求发送到本地主机。
3. 配置文件中存在错误的反向代理规则,导致 Nginx 将请求重定向到本地主机。

解决此问题的方法包括检查后端服务是否正常运行、调整反向代理配置以确保正确的路由,或者调整 Nginx 的超时设置
参考技术B 当使用Nginx服务器时,如果接收到大量127.0.0.1连接,可能是由于系统中的某些应用程序正在不断重新尝试连接,而Nginx服务器在每次连接时都会检查127.0.0.1,从而导致大量的127.0.0.1连接。另外,可能也是由于某些黑客正在尝试攻击该服务器,通过发送大量127.0.0.1连接来拒绝服务(DDoS攻击)。
为了解决这个问题,首先要检查是否有任何正在运行的应用程序正在不断重新尝试连接,如果有,可以尝试重新启动它们。如果没有,可以考虑在Nginx配置文件中增加一个限制,防止过多的127.0.0.1连接(例如,限制它们的频率)。此外,如果发现有大量的127.0.0.1连接,可以尝试检查防火墙日志,看看是否有任何异常的连接。
参考技术C 可能是因为Nginx的日志记录中记录了大量的127.0.0.1的记录,其中可能是有病毒对Nginx服务器的攻击,也可能是Nginx服务器上某些程序的bug,导致大量的127.0.0.1的记录。另外,也可能是有大量的僵尸网络攻击,导致Nginx服务器接收到大量的127.0.0.1的记录。 参考技术D 回答公式1明确结论+解释原因+内容延伸问题研究生的学术压力大吗回答1. 是的,研究生的学术压力很大。
2. 研究生需要深入学习和掌握专业知识,并在此基础上开展具有创新性的研究工作,这需要投入大量的时间和精力。
此外,研究生需要撰写高质量的论文并完成导师的要求,这也是巨大的挑战。
因此,研究生的学术压力比本科生更大。
3. 对于研究生来说,要缓解学术压力,需要认真规划时间,合理安排任务。
可以寻求导师和同学的帮助,提高学习效率,还可以参加一些学术交流活动,扩展学术视野,提高学术水平。
这些方法可以帮助研究生缓解学术压力,更好地完成学业。

每 x 秒/分钟发送和接收重复信息的架构

【中文标题】每 x 秒/分钟发送和接收重复信息的架构【英文标题】:Architecture for sending and receiving recurring information every x seconds/minutes 【发布时间】:2021-11-06 13:37:10 【问题描述】:

我使用一个移动应用程序,该应用程序每隔一定时间通过重复的 GET 请求发送数据(纬度/经度); 30秒、1分钟、5分钟等,非常小的间隔,就像是一个SENSOR,这个数据被发送到Backend,收到请求的数据后,这个数据必须显示在屏幕上。

我的问题是,我当前的架构是面向服务的架构 (SOA),所以我每次都发出一个 http 请求,问题是每秒/分钟有数百个用户和数百个请求。采用 SOA 是错误的吧?

在寻找替代方案时,我遇到了一个事件驱动的架构(event-driven architecture),这会是最好的吗?但是涉及到微服务的问题等等。我倒在这里,也没有太多的知识…… 关于如何最好地处理它的任何建议或想法? SOA是个错误?我需要一些指导。

【问题讨论】:

为什么您认为 SOA 可能不适合您的用例? 你应该把这个问题写到softwareengineering.stackexchange.com 【参考方案1】:

我不会过多强调架构的名称,因为事件驱动架构意味着所有的通信都是通过系统中生成的事件发生的。理论上很棒,但很难正确实施。

我的方法将松散地基于使用消息代理(kafka、rabbitmq 等)的微服务架构,其中一个服务接收 GPS 数据(可选地添加一些上下文信息、接收日期、设备 ID、 ...) 并将其发送给代理,以及处理 GPS 数据并将其保存到数据库(集群)的另一个服务。

孤立地讲,我所描述的类似于事件驱动架构。服务是解耦的,它们通过事件进行交互,但由于这是您应用程序的一部分,因此对所有其他组件强制采用这种模式是不明智的。

一些可能对您有所帮助的提示:

先考虑部署;如果可以的话,使用容器。从 docker-compose 开始设置所有服务的单个实例,然后使用 docker swarm 对其进行扩展。这简化了微服务部署的处理。 并非所有东西都必须是微服务;您可以逐个功能开始,并根据需要集成此模式。微服务、SOA、事件驱动更多的是建议,而不是你盲目应用的模式。 采用异步通信,因为它可以帮助您处理可扩展性(您可以更改/扩展通信的一部分而无需更改另一部分)和可靠性(更容易处理不可用的服务,处理峰值负载) .

【讨论】:

以上是关于nginx1秒接收到大量127.0.0.1原因的主要内容,如果未能解决你的问题,请参考以下文章

不频繁的 Handler.post 导致大量丢帧和崩溃

linux 大量的TIME_WAIT解决办法

web节点发现大量的3306端口time_wait链接

时间盲注

connect ECONNREFUSED 127.0.0.1:80错误解决

腾讯GT中PNET指的是啥