如何修复 504 网关超时错误
在浏览网站时,您很可能遇到“504 网关超时错误”。 为了理解这个错误,必须了解互联网的工作原理。 互联网是一个复杂的网络网络,意味着有许多网络服务器作为网络交换信息。 这些服务器在一个链中工作,涉及在浏览器中获取所需网页的过程。 在这个链式过程中,上游的一台服务器充当下游服务器的网关,直到到达最终服务器的末端,在那里可以获得所请求的信息。
了解如何修复 Google Chrome 中的 err_connection_reset、err_internet_disconnected、err_network_changed 和 err_connection_closed 错误。
什么是 504 网关错误?
504是当下游服务器的请求无法处理或耗时过长时,上游Web服务器返回的HTTP状态码。 504网关超时错误基本上意味着请求的服务器在规定的时间内没有得到对方接收服务器的响应。 这通常被称为“超时”,这是您以前可能听说过的术语。 可以想象,这些错误可能出现在任何浏览器、互联网链接应用程序或操作系统中。
![504 网关超时错误](https://www.infoxiao.com/wp-content/uploads/2022/08/如何修复-504-网.png)
该错误的定义如下:
当 server1 充当外部网关或代理并且没有按时收到来自请求链中更靠前的下一个 server2 的响应时,它尝试访问以完成请求,然后收到代码“504 – Gateway Timeout” .
修复 504 网关超时错误
大多数情况下,除非您的 Internet 连接或计算机遇到问题,否则通常不会超时。 但是,确保始终是值得的,并且有几种方法可以做到这一点。
对于用户:
- 重新加载网页
- 稍后检查网站
- 重启路由器/调制解调器
- 检查您的网络设置
- 联系网站所有者
- 联系您的 ISP
对于网站所有者:
- 检查服务器日志
- DNS 区域文件更新(DNS 传播检查)
- 防火墙配置错误
- 不正确的 CDN 或缓存设置
- PHP脚本的问题
- 服务器连接延迟
对于 WordPress 网站所有者:
- 与插件或主题文件冲突
- 启用调试和检查
- 设置PHP执行时间
如果您看到 502 – Bad Gateway,请查看有关如何修复 Google Chrome 中的 502 – bad gateway 错误的单独文章。
修复用户的 504 网关超时错误
1.重新加载网页
最快最简单的方法是尝试重新加载网页,看看是否再次出现错误。 即使错误不在您的尽头,超时也可能是暂时的 – 可能是由于在线流量的瞬间涌入或类似情况。 如果尽管如此,错误仍然存在,请转到下一个选项。
![在 Chrome 中刷新页面 Chrome](https://www.infoxiao.com/wp-content/uploads/2022/08/如何修复-400-错.png)
当您在支付网关上时,请记住不要刷新页面。 由于在超时发生之前付款可能已经成功,这可能会导致双重付款。
2. 稍后检查网站
如果重新加载站点不起作用,请等待一段时间,稍后再返回站点。 该问题在服务器端可能是间歇性的,可能会在短时间内得到解决。
3.重启路由器/调制解调器
另一种快速简便的方法是尝试重新启动连接到网络的所有设备。 如今,路由器是一个单一的设备,既具有调制解调器的功能,又具有路由无线连接的功能。 因此,如果问题出在您的路由器上,重新启动路由器可能有助于解决 504 网关超时错误。 您可以按照通常粘贴在设备后面的说明重新启动/重置路由器。
4.检查局域网设置
您应该检查的网络设置是禁用 LAN 连接设置中的“自动检测设置”选项。 此外,最好禁用代理设置以检查问题是否由于代理设置不当而发生。
![](https://www.infoxiao.com/wp-content/uploads/2022/08/1661105253_716_修复-Chrome.png)
5.刷新DNS和更新IP和TCP/IP
如果上述两个选项都失败,您可能需要刷新 DNS 以避免 DNS 缓存问题。 如果将整个站点或站点的一部分更改为不同的服务器,这将很有帮助。 由于您的 PC 在缓存中有旧的详细信息,因此可能会导致延迟获取请求的页面。 您可以通过参考这篇关于如何在 Windows PC 中查看和刷新 DNS 缓存的文章在 Windows 上执行此操作。 您还可以在 Windows PC 的命令提示符下使用以下命令更新 IP 和 TCP/IP 协议。
netsh winsock reset netsh int ip reset ipconfig /release ipconfig /renew
在 Mac 上,转到“终端”应用程序并键入以下命令并按 Enter。
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
您应该输入管理员密码才能运行此命令。
6.访问被阻止的资源
确保您没有尝试访问被 ISP 或国家级别阻止的站点。 例如,如果您居住在中国等国家/地区,使用 Facebook 分享按钮访问页面将显示超时错误。 这是因为服务被阻塞了; 尽管会加载网站上的其他内容,但您会看到社交图标框的占位符显示超时错误。
除了使用可靠的 VPN 或代理来访问被阻止的资源之外,您不能在这里做任何技巧。
7. 联系您的 ISP
如果上述任何方法仍不能解决问题,请尝试访问另一个网页,看看该错误是否在另一个页面上再次出现。 如果错误也出现在其他网站上,最好联系您的互联网服务提供商,或者检查您的互联网连接是否存在已知中断或问题。
8. 联系网站所有者
如果其他网页可以正常打开,那么您可以放心,这不是您的任何原因造成的。 如果错误持续超过一两天,最好联系网站/服务器管理员,并将问题通知他们。 一旦得到通知,他们可能能够在相对较短的时间内修复它,这意味着您可以继续使用该网站来满足您的需求。
如果网站/服务器管理员没有尽快与您联系或解决问题,这通常表明他们不是很可靠。 该网站可能有点,嗯……“狡猾”,在这种情况下,您可以寻找适合您需求的不同网站。
对于网站所有者:
如果您是网站的所有者并看到 504 网关超时错误,您可以执行不同的操作来恢复网站。
8. 检查服务器日志
第一步也是重要的一步是检查服务器上的日志文件。 通常,此日志文件位于您站点的根目录中。 如果您无法访问日志文件或无法理解内容,请与您的托管公司联系。
9. DNS 区域文件更新
与计算机和浏览器上的 DNS 缓存类似,服务器也有 DNS 区域文件条目,用于将域名解析为 IP 地址。 修改 DNS 区域文件可能会导致网关超时错误。 如果您在过去几天内更改了 DNS 条目,请检查您的域的 DNS 传播。 这将显示使用新 IP 地址是否可以在世界各地访问该站点。
![DNS 传播检查](https://www.infoxiao.com/wp-content/uploads/2022/08/1661133553_273_如何修复-504-网.png)
请记住,托管服务器的更改和 CDN 的使用将导致 DNS 服务器的更改。 因此,如果您自动更改了托管公司,DNS 服务器将更改为新的主机,这通常可能需要 48 小时的时间。 虽然在此期间您会看到与 DNS 相关的错误,但由于解析新 IP 地址需要很长时间,它也可能导致超时错误。
10. 防火墙配置错误
网站所有者通常使用防火墙来保护网站免受黑客攻击。 但有时防火墙设置中的错误配置会完全阻塞资源并导致超时错误。 检查这一点的最简单方法是禁用防火墙并测试您的站点是否可以访问。 了解有关在 Windows 和 Mac 中处理防火墙的更多信息。
11. 不正确的 CDN 或缓存设置
如今,几乎网络上的每个站点都使用 CDN 和缓存。 服务器端缓存需要更改配置,而且像 Cloudflare 这样的 CDN 需要更改 DNS 以进行缓存。
![Cloudflare 出现 504 网关超时错误](https://www.infoxiao.com/wp-content/uploads/2022/08/1661133553_0_如何修复-504-网.png)
如果您怀疑 CDN 或缓存是罪魁祸首,只需禁用它们以检查站点是否可以打开。 然后联系服务提供商并正确设置,以免影响真实用户。
12. PHP 脚本的问题
有很多 PHP 脚本可以直接放入您的服务器以获得所需的功能。 这些脚本可以从第三方购买,几乎没有钱。 但问题是这些脚本中的大多数编码都很糟糕,并且会消耗您的服务器资源。
托管公司限制 PHP 执行时间(如 300 毫秒),以便这些站点关闭整个站点或服务器。 触发后,脚本可能会运行很长时间并导致超时错误。 托管公司也可能会阻止或删除您的托管帐户,因为这将违反条款和条件。 因此,分析服务器上的日志文件并检查 PHP 脚本导致超时错误。 如果是,请立即删除或禁用这些脚本,并就此与服务提供商讨论。
13.服务器连接延迟
通常,如果您使用共享托管服务器,您的页面加载时间会很慢。 在这种情况下,同一服务器上托管的任何站点上的资源密集型页面可能会减慢整个服务器的速度并导致超时错误。 如果您有权访问或与您的托管服务提供商联系,以通过升级为您的站点安排更多资源,请检查服务器利用率。
对于 WordPress 网站所有者:
如果您有 WordPress 内容管理系统,那么情况可能会大不相同。 以下是您可以尝试的一些选项:
14. 与插件或主题文件冲突
您是否在收到 504 网关超时错误之前更新了您的主题或插件之一? 如果是,请恢复到以前的版本并检查该站点是否可访问。 查看这篇文章,了解如何恢复插件更新和恢复您的网站。 如果您找不到导致问题的特定插件,请禁用所有插件并恢复为默认 WordPress 主题。 这应该有助于在没有插件的情况下访问问题并缩小问题范围。 在您解决问题之前,将您的站点置于维护模式也是一个好主意。
15.启用调试和检查
WordPress 允许您调试错误以进行故障排除。 您可以通过编辑“wp-config.php”文件来启用调试,并在“/* 就是这样,停止编辑! 快乐出版。 */”。
define( 'WP_DEBUG', true );
启用后,您将在网站的前端看到相关的错误消息。 您可以分析错误以了解问题的根本原因并着手修复它。 请记住,所有打开您网站的用户也可以看到错误消息。 因此,出于安全原因,建议在登台或测试环境而不是现场进行调试。
16.设置PHP执行时间
正如我们已经解释过的,由于您的主机设置的执行时间限制,PHP 脚本可能会导致延迟。 如果您确定,请通过在“php.ini”文件中添加以下行来增加执行时间。
max_execution_time = 300
在自行修改之前,请确保您的主机允许该限制。
结论
无论您是用户还是网站所有者,如果您无法快速解决此类错误,您可能会感到沮丧。 还要记住,504 网关超时错误与 502 网关错误不同。 我们相信上述步骤之一可以帮助您解决问题。