当前位置:首页 » 网页前端 » 前端504啥问题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

前端504啥问题

发布时间: 2022-10-18 12:46:59

1. 网页出现“504 Gateway Time-out”,没有其它信息是什么原因

打开网页出现504是通常意味着上游服务器已关闭(不响应网关 / 代理),而不是上游服务器和网关 / 代理在交换数据的协议上不一致。
正常情况下,是由于被请求服务器发送超时引起。服务器(不一定是 Web 服务器)正在作为一个网关或代理来完成客户(如您的浏览器或我们的 CheckUpDown 机器人)访问所需网址的请求。 为了完成您的 HTTP 请求, 该服务器访问一个上游服务器, 但没得到及时的响应。
解决方法
这个问题完全是由后端电脑之间 IP 通讯缓慢而产生, 可能包括 Web 服务器。 如果 Web 服务器由某一网站托管, 只有负责那个网站设置的人员才能解决这个问题。
网络上代理和缓存的使用日渐增加。尽管 CheckUpDown 机器人将总是试图 ' 钻入 ' 真正收管的网站的电脑, 但是 HTTP 请求实际上落在哪里并不能完全控制。 只要在处理 HTTP 请求的一连串电脑中, 有一个环节坏了,类似 504 的错误就很容易产生。
遇到 504 错误,与网站官方联系(例如通过电子邮件),此问题个人无法解决。需要网站方和互联网服务供应商 (ISP) 及 Web 服务器软件供应商联络, 检查在其控制下的不同电脑之间的 IP 数据传输的流通状况。

2. 网页出现“504 Gateway Time-out”,没有其它信息是什么原因

您好亲,很高兴为您服务解答
504Gateway Time-out,就字面意思,我们可以理解为网页请求超时,也就是游览网页所发出的请求没有反应或者未响应。
出现“504 Gateway Time-out”的原因:
1、在网站程序层面来说,就是请求未能够执行相应的PHP-CGI程序,或者PHP-CGI程序未能做出相应的处理,又或者是CGI程序的响应处理结果未能够反馈到游览器或者未能及时反馈到游览器。
2、504Gateway Time-out错误多是存在于Nginx网站服务环境下,多于nginx.conf与php-fpm.conf设置是否正确合理有关。
希望我的回答对您能有所帮助哦亲,满意的话麻烦给个赞,最后再次祝您身体健康,心情愉快!

3. 网页出现“504 Gateway Time-out”,没有其它信息是什么原因

504表示与服务器通信失败了。
比如你访问网络页面,页面请求发出去之后,但是网络的服务器长时间没有给你回应,然后就会提示 504。

4. 网页出现“504 Gateway Time-out”,没有其它信息是什么原因

对于一个Web开发者来说,504和502问题看上去好像很简单,每个人也可能都遇到过,但把问题说清楚并不那么容易

两台设备只要通过proxy或fastcgi协议互相通信,都会遇到504问题,比如Nginx+PHP-FPM会遇到;代理服务器连接后端Web服务也会遇到。本次遇到的场景属于后者,重点讲解代理导致的504问题。

那到底上面是504错误呢,看下wiki的引用:

4GatewayTimeout

The server was acting as a gateway or proxy and did not receive a timely response from the upstream server

意思就是一个网关或代理服务器能够连接后端服务器,但在读取服务器响应的时候超时了。遇到504问题一般是后端服务的问题,比如:

后端进程无故退出了(可能是代码异常,也可能是apache或nginx进程异常),导致代理服务器接收不到后端响应。

后端响应缓慢,导致代理服务器接收后端响应超时了。

服务器出现504 Gateway Time-out的解决方法!

按照上述可能的两个情况,逐一分析。

(1)x.php程序在特定的情况下,确实运行缓慢,但apache得access log在25秒左右的时候成功记录了200访问日志(由于php代码执行结束后才记录日志,一开始可能看不到access日志,导致开始误认为是后端程序的问题)。

(2)在x.php程序中记录应用日志,应用日志和access log日志一样,没有任何异常。

这说明代码并没有问题(但程序执行时间过长,有优化的空间),虽然在20秒产生504错误(由nginx处理),后端代码进程仍然继续运行,并在25秒成功运行。

排除这个问题后,最有可能是代理服务器觉得后端响应过于缓慢,主动关闭了该连接,是不是代理服务器设置的超时时间过短?由于公司的代理服务器(ssl nginx)是由专人维护的,看不到具体的配置,邮件询问了同事,得到回复如下:

proxy_read_timeout 60

proxy_send_timeout 60

首先看下 proxy_read_timeout 的介绍:

Defines a timeout for reading a response from the proxied server. The timeout is set only between two successive read operations, not for the transmission of the whole response. If the proxied server does not transmit anything within this time, the connection is closed.

最后将该值修改为:

proxy_read_timeout 300

proxy_send_timeout 300

问题最终解决了,肯定是proxy读取超时了,但具体的配置仍然疑惑。

进一步测试

可以进一步了解nginx的proxy配置,如果没有特殊的需求,配置非常简单。

server {

listen 443 ssl;

server_name www.simplehttps.com;

location / {

access_log access.log main;

error_log error.log;

proxy_pass http://127.0.0.1:8080;

proxy_read_timeout 5;

}

}

proxy_pass 可以是一个host、内部域名、ip地址,不用是一个对外的域名。

如果遇到超时问题,观察error.log日志,会看到以下错误:

2018/09/19 21:01:19 [error] 17034#0: *253 upstream timed out (110: Connection timed out) while reading response header from upstream, client: *.*.*.*, server: www.simplehttps.com, request: "GET /x.php HTTP/1.1", upstream: "http://*.*.*.*:8080/x.php", host: "www.simplehttps.com"

最后经过不断调整nginx的proxy_read_timeout指令和后端x.php程序的执行时间,也没有遇到工作中遇到的问题(20秒和60秒之间不对称的问题),只能后续继续留意了。

总结

1:网关和后端的超时时间(proxy或fastcgi)必须协调一致,在本案例中,apache/mod_php运行最长时间如果是30秒,那么nginx设置的超时时间必须大于30秒,因为必须考虑网络传输延时时间(非网络包总传输时间);而如果是nginx+php-fpm模式,nginx设置的超时时间相对简单,因为大部分情况下,nginx和php-fpm部署在同一台机器上,网络延时相对较短,但必须考虑php最大执行时间和php-fpm最大执行时间,

2:针对504错误,可认为都是http错误码,都是服务器端的错误(相对于客户端),在遇到相关错误的时候,必须根据错误码判断可能存在的问题,然后再针对性的排查,否则排查时间会增加很多。

5. 错误504是什么意思

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

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

遇到504错误,请与网站官方联系(例如通过电子邮件)——此问题个人无法解决,需要网站方和互联网服务供应商(ISP)及Web服务器软件供应商联络,检查在其控制下的不同电脑之间的IP数据传输的流通状况。 然而, 这个错误不易解决, 由于互联网流通的无规律性, 这种类型的错误是瞬态的。

6. 网页出现“504 Gateway Time-out”,没有其它信息是什么原因

你好,很高兴为你解答:

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

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

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

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

7. 什么是504错误啊

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

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

1、从站点的 IP 名称获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。

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

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

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

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

(7)前端504啥问题扩展阅读

特性

1、可扩展性

服务器必须具有一定的“可扩展性”,这是因为企业网络不可能长久不变,特别是在当今信息时代。

2、易使用性

服务器的功能相对于PC机来说复杂许多,不仅指其硬件配置,更多的是指其软件系统配置。服务器要实现如此多的功能,没有全面的软件支持是无法想象的。

3、可用性

对于一台服务器而言,一个非常重要的方面就是它的“可用性”,即所选服务器能满足长期稳定工作的要求,不能经常出问题。其实就等同于Sun所提出的可靠性(Reliability)。

4、易管理性

在服务器的主要特性中,还有一个重要特性,那就是服务器的“易管理性”。