JAVA开发(记一次504 gateway timeout错误排查过程)

news2024/11/18 22:34:52

一、问题与背景:

最近在发布一个web项目,在测试环境都是可以的,发布到生产环境通过IP访问也是可以的,但是通过域名访问就出现504 gateway timeout。通过postman去测试接口也是一样。ip和端口都可以通,域名却不行,百思不得其解。通过一顿百度搜索,解析说通过nginx配置文件配置这几个地方

  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 256k;
  fastcgi_buffers 2 256k;
  fastcgi_busy_buffers_size 256k;
  fastcgi_temp_file_write_size 256k;

结果没有效果,但应该也有些场景应该是可以的,比如说通过IP访问也是报504的错误,但是不是我这种场景。

然后继续有指导说通过在server配置

  proxy_connect_timeout    6000;  #nginx跟后端服务器连接超时时间(代理连接超时)默认60s
  proxy_read_timeout       6000; #后端服务器数据回传时间(代理发送超时)默认值60s
  proxy_send_timeout       6000;  #连接成功后,后端服务器响应时间(代理接收超时)默认值60s

 然后也是没效果。

应该也有些场景应该是可以的,比如说通过IP访问也是报504的错误,但是不是我这种场景。

上面的两种方案应该就是网络上目前提供的两种方案。但是并没有解决我的问题。

那么我们就要从头理解 504错误的场景了。也许并不完全是由于web服务器没有反应引起的。

二、504错误的定义和解析:

504错误代表网关超时 (Gateway timeout),是指服务器作为网关或代理,但是没有及时从上游服务器收到请求。

服务器(不一定是 Web 服务器)正在作为一个网关或代理来完成客户(如您的浏览器或我们的 CheckUpDown 机器人)访问所需网址的请求。 为了完成您的 HTTP 请求, 该服务器访问一个上游服务器, 但没得到及时的响应。

这通常意味着上游服务器已关闭(不响应网关 / 代理),而不是上游服务器和网关/代理在交换数据的协议上不一致。

正常情况下,是由于被请求服务器发送超时引起。

三、导致504错误的原理:

由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答   。

任何客户端在和网络服务器通讯时,都需经过以下循环:

从站点的 IP 名称 ( 即站点的网址-URL, 不带起始的 ‘http://') 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。

打开一个 IP 套接字 (socket) 连接到该 IP 地址。

通过该套接字写 HTTP 数据流。

从Web服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。

该错误在以上所述的最后一步生成,即当客户端收到 HTTP 状态编码 并识别其为 ‘504’ 时。

这个问题完全是由后端电脑之间 IP 通讯缓慢而产生, 可能包括Web服务器。 如果Web服务器由某一网站托管, 只有负责那个网站设置的人员 才能解决这个问题。

网络上代理和缓存的使用日渐增加。尽管CheckUpDown 机器人将总是试图 ' 钻入 ' 真正收管您的网站的电脑, 但是HTTP 请求实际上落在哪里并不能完全控制。 只要在处理HTTP请求的一连串电脑中, 有一个环节坏了,类似504的错误就很容易产生。

四、ip能访问域名访问报504错误最后解决:

那就可能是域名解析的环境加入防火墙的环节也可能出错导致504。结果后面排查发现域名解析对应端口配置错误导致了504.后面修改了策略,最终解决了问题。

五、504错误还可能是以下场景:

1. 计算机浏览器错误:当浏览器配备或设置中有一些错误时,就会出现这个错误

2. DNS错误:域DNS配备不当可能导致浏览域时出错

3. 网络不稳定:代理与Web服务器之间的数据连接不良可能导致响应延迟

4. Web服务器速度慢:Web服务器特性低可能导致网关ip请求超时

5. 504错误的主要原因是防火墙配置错误:防火墙规则不正确

504 Gateway 如何解决timeout

1. 刷新页面

处理504 Gateway timeout错误的第一步是点击更新/重新加载按钮,按F5或再次尝试从搜索框中搜索URL,然后尝试网页。可能是服务器

当时收到的要求比平时多,很多要求都解决不了,导致短时间504 Gateway Timeout。

2. 重新启动各种设备

解调器、无线路由器、网络交换机或其他网络硬件的临时问题很可能会导致你看到的504 Gateway Timeout。尝试重启这种设备可能对每个人都有帮助。

3. 检查代理服务器的设置

使用浏览器或程序 检查代理服务器设置,确保其正确、准确。网络设置不正确很可能导致504 Gateway timeout错误。

4. 更改DNS服务器

变更DNS服务器,特别是在互联网上的各种设备遇到同样错误的情况下。您看到的504 Gateway Timeout的错误很可能是由于您正在使用的DNS服务器问题造成的。

5. 修复错误的防火墙配置

防火墙是页面的守护者。它可以保护您的网站免受故意访问者的攻击。然而,您服务器中的网络防火墙可能会遇到一些错误、不正确的设备或适当的标准阻止连接,这将导致504 Gateway timeout错误。

6. 联系您的服务器服务提供商

在某些情况下,试着联系您的服务器服务提供商。这个问题可以更有效地发现。

7. 稍后试着浏览这个网站

如果任何其他方法都不成功,那么你最后的选择就是稍微试着浏览一下这个网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/691906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在矩池云上运行 AI 图像编辑工具 DragGAN

5 月,DragGAN 横空出世,在开源代码尚未公布前,就在Github上斩获近 20000 Star,彼时,页面上只有效果图和一句“Code will be released in June”,然而这也足够带给人们无限期待。 在6月末,在若干…

SpringBoot最多可以处理多少个请求?

SpringBoot最多可以处理多少个请求? SpringBoot夺命连环14问,1天刷完别人半个月的springboot面试内容,比啃书效果好多了!_哔哩哔哩_bilibili 最小线程数:最少的厨师的量,饭店人不多的时候的量。 最大线程数…

微信可以自动跟圈的软件有吗?

对于许多人而言,每日发朋友圈已成为必要的任务之一,如同上学时老师检查作业般。但发圈何尝不像是写作业一样呢?有许多小号需发几十上百条朋友圈,令人感到枯燥、浪费时间。再加上我们还有其他事务要处理,例如服装店老板…

让你不再疑惑ai绘画生成器有哪些

有一天,设计师小李接到了一份任务,要在短时间内完成一幅复杂的插画。小李感到非常苦恼。于是,他开始寻找一种新的解决方案。通过搜索和咨询同事,小李发现通过使用ai绘画工具可以提高快速绘制图画的速度.那么,你知道最新…

paddlespeech 声纹识别embedding向量提取

参考: https://aistudio.baidu.com/aistudio/projectdetail/4353348 https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/demos/speaker_verification/README_cn.md 注意 1)安装paddlespeech,参考: https://blog.csdn.n…

儿童牙刷语音方案,低功耗语音芯片NV040C,支持UART指令

随着人们对生活品质的追求越来越高,家庭中的日常用品也开始注重便携性、功能性与智能化。牙刷作为家庭必备的清洁用品,同样也在走向智能化的方向。为此,市场上出现了一些支持语音指令的儿童牙刷语音方案,其中低功耗语音芯片NV040C…

TypeScript 中接口类型【Interfaces】的定义使用解读

导语: 什么是 类型接口? 在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement&#x…

从“裸辞”到“终于找到理想工作”,面试了37家公司,经过5个月的时间终于如愿以偿。

软件测试行业裸辞5个月,面试了37家公司,终于找到理想工作了... 在软件测试行业里工作已经有7年的时间了。然而,在今年初,我因为一些原因选择了离开原来的公司,成为了一名“裸辞族”。我并不后悔这个决定,因…

QT Creator上位机学习(一)基本类别及主体框架解析

系列文章目录 文章目录 系列文章目录前言基础认识多种项目3种基类文件管理编译 项目程序项目管理文件UI文件信号与槽主程序窗体头文件窗体源文件 前言 之前也学习制作过串口上位机和利用Qchart完成数据的曲线显示等等,但大多只是对网上的程序进行拼接,这…

15.RocketMQ中的负载均衡

1.3负载均衡 1.3.1什么是负载均衡 负载均衡(Load Balance)是一种技术解决方案。用来在多个资源(一般是服务器)中分配负载,达到最优化资源使用,避免单台服务器过载。 RocketMQ中的负载均衡主要可以分为生产者发送消息的负载均衡和消费者订阅消息的负载均衡…

记一次phpMyAdmin弱口令爆破事件应急响应

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓ 01 事件背景介绍02 流量分析过程03 事件分析结果04 安全加固建议 01 事件背景介绍 某内部应急演练中,安全部门在安全设备上观察到大量phpMyAdmin登录请求,现需根据流量情况进行…

leetcode887. 鸡蛋掉落(动态规划-java)

鸡蛋掉落 leetcode887. 鸡蛋掉落题目描述暴力递归 二分查找代码演示 动态规划代码演示 动态规划专题 leetcode887. 鸡蛋掉落 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/super-egg-drop 题目描述 给你 k 枚相同的鸡…

Python实现所有英雄皮肤图片采集,超高清

目录标题 前言环境使用:模块使用:代码基本四个步骤:代码展示尾语 前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 环境使用: Python 3.8 Pycharm 模块使用: requests —> 数据请求模块 需要安装 re 正则表达式 内置模块 不需要安装 os 文件操作模块 内置模块 不需…

记一次Weblogic控制台弱口令爆破事件应急响应

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓ 01 事件背景介绍02 流量分析过程03 事件分析结果04 安全加固建议 01 事件背景介绍 某内部应急演练中,安全部门在安全设备上观察到大量Weblogic控制台登录请求,现需根据流量情况…

Rancher集群搭建

前言 随着容器的普及和Kubernetes 的日渐成熟,企业内部运行多个Kubernetes 集群已变得颇为常见,然而部署kubernetes集群的方式也多样化,二进制部署、rancher、kubeadm、minikube等。然而本篇文章主要讲解的是如何使用rancher快速部署一个k8s集…

Linux:LAMP搭建(全源码包安装)

LAMP 就是 Linux Apache Mysql PHP/Python 目录 Linux安装 Apache安装 Mysql安装 安装PHP 安装PHP扩展包 编译安装PHP PHP 添加优化模块 测试网页协同工作 Linux安装 虚拟机安装 (1条消息) VMware:安装centos7_鲍海超-GNUBHCkalitarro的博客-CSD…

从0到1精通自动化测试,pytest自动化测试框架,doctest测试框架(十四)

一、前言 doctest从字面意思上看,那就是文档测试。doctest是python里面自带的一个模块,它实际上是单元测试的一种。 官方解释:doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果 doctest测试…

iostat命令详解

语法&#xff1a; iostat [ 选项 ] [<时间间隔> <次数> ] 支持的参数及参数详解&#xff1a; -c&#xff1a;仅显示CPU统计信息&#xff0c;与-d选项互斥 -d&#xff1a;仅显示磁盘统计信息&#xff0c;与-c选项互斥 -h&#xff1a;使用NFS&#x…

Prophet算法框架预测输出及使用方法

Prophet 时间序列预测框架入门实践笔记 接续上文&#xff0c;预测结果&#xff1a; forecast m.predict(future) forecast[[ds, yhat, yhat_lower, yhat_upper]].tail(48)forecast 是Pandas的DataFrame&#xff0c;数据项及含义如下&#xff1a; ‘ds’&#xff1a; 是日期时…

内容变现有了VVIP会员门槛,微博这么做图个啥?

文 | 螳螂观察 作者 | 易不二 充分竞争的存量时代&#xff0c;用户是最宝贵的平台资产。 这不仅体现在今年618期间&#xff0c;各大电商平台的“抢人大战”&#xff0c;更具体的风向还在于&#xff0c;作为移动互联网时代最有影响力的社交媒体之一&#xff0c;微博调整了新的…