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

这篇具有很好参考价值的文章主要介绍了JAVA开发(记一次504 gateway timeout错误排查过程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题与背景:

最近在发布一个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;

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

结果没有效果,但应该也有些场景应该是可以的,比如说通过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. 稍后试着浏览这个网站

如果任何其他方法都不成功,那么你最后的选择就是稍微试着浏览一下这个网站。文章来源地址https://www.toymoban.com/news/detail-503602.html

到了这里,关于JAVA开发(记一次504 gateway timeout错误排查过程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTTP状态码504(Gateway Timeout)报错原因分析和解决办法

    HTTP状态码504表示\\\"Gateway Timeout\\\",这是一种服务器错误响应代码。 当我们访问网页遇到504错误时,意味着HTTP请求无法在服务器预定的时间内得到响应。 通常情况下,504错误是由以下一种或多种情况引起的,我们从用户和网站管理员角度来分析: 一、用户角度 1. 代理服务器问

    2024年02月10日
    浏览(48)
  • Nginx反向代理的一个算法API的接口调用超时:504,GateWay Timeout,怎么破?

    服务端由第三方部署了一个基于 darknet (一个较为轻型的完全基于C与CUDA的开源深度学习框架)的识别算法服务,通过 Flask 的 Web 服务对业务服务暴露 API 接口。作为测试,一开始是直接通过 python3 app.py 的命令行启动的服务,然后在 Nginx 处通过反向代理过来的。 可是在通过前

    2023年04月08日
    浏览(83)
  • vue3+vite导入第三方库报ERR_ABORTED 504 (Gateway Timeout)

    vue3+vite,使用了三方库NProgress,使用npm install --save nprogress 安装后在项目中使用,报错:ERR_ABORTED 504 (Gateway Timeout), 卸载后重新安装 ,还是报这个错, 难道是这个库有问题?,新建了一个空项目,安装后, 在新项目中可以正常使用, 排除库的问题,应该就是这个库没有正确

    2024年02月13日
    浏览(50)
  • PHP-FPM与Nginx通信报 502 Bad Gateway或504 Gateway Timeout终极解决方案(适用于PHP执行耗时任务情况下的报错)

    适用于常规请求都没问题,但是执行某些php脚本需要超过一分钟的情况下的502/504,并不是任何请求都502/504的情况(这说明php-fpm或者nginx配置错误)。 执行脚本时间太长,期间php没有返回任何的数据。 php-fpm超时,nginx没超时 。nginx认为php-fpm罢工了,然后抛出了异常。 执行脚

    2024年02月08日
    浏览(58)
  • 记一次内存泄漏排查

    最近某项目的服务突然告警,cpu超85%,随后就是服务宕机。交付重启服务后恢复正常但是随后不久又开始告警,特别是白天,严重影响客户业务进行。 1、分析日志 查看日志的过程中发现存在内存溢出(OOM),思考要么存在内存泄漏要么业务上触发了某个接口存在大对象,结

    2023年04月16日
    浏览(52)
  • 记一次kafka消息积压的排查

    kafka消息积压报警,首先进行了自查,这个现象频频出现,之前每次都是先重新分配分区或者回溯(消息可丢弃防止大量积压消费跟不上)。 根据手册首先排查下消息拉取是否正常,看到了消息拉取线程是waiting状态,然后看到kafka这块逻辑是消费线程阻塞了拉取线程。 对比了

    2024年03月24日
    浏览(54)
  • 记一次Nacos线程数飙升排查

    近日有个项目用到了Nacos做注册中心。运行一段时间发现Nacos服务的线程数达到了1k+。这肯定是不正常的。 环境: 镜像nacos-server 2.2.3 docker-compose编排部署 Nacos standalone模式 问题表现 docker stats nacos 发现该容器的线程数1k+ 用Fastthread分析stack文件表现如下 数量最多的线程线程栈如

    2024年02月09日
    浏览(46)
  • 记一次线上BUG排查过程

    1. 线上遇到一个非常奇怪的bug,为一个用户分配业务线类型后,该用户登录时,提示502,但其它的用户登录完全是正常的 2. 问题现象 3. 排查思路 先去看线上日志,看是否有error,但日志里边这个接口200正常返回 本地debug,也复现一样问题,在分配角色类型超过22个总数时就报

    2024年02月09日
    浏览(53)
  • 记一次docker启动失败的问题排查

    以前在虚拟机上安装了一个docker,可以正常使用的,今天突然宿主机机器内存条坏了,换了内存条后启动机器,再使用 systemctrl start docker 启动docker,最后使用 docker start containID 启动报错 网上没有找到相应的描述,仔细分析看是 write /proc/sys/kernel/shmmni 报错了,错误原因是 in

    2024年02月14日
    浏览(64)
  • 【记一次线上事故的排查思路】- CPU飙升问题排查

    由于项目排期较紧,临时从其他组调来三个开发资源帮我一起做项目,难免上线的时候大家的需求一块上线。 问题来了,上线三天后,线上CPU总是莫名奇妙的突然飙升,飙升后CPU并未降下来,而是一直处在高点。 由于是线上导致的问题,CPU超限后,会自动重启项目,未能保

    2024年01月23日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包