504 网关超时错误是一种 HTTP 状态代码,是服务器在无法完成请求时发送回以应答传入请求的一种报告代码。您以前在浏览时肯定遇到过此错误,尽管此错误不像其他 5xx 系列错误(例如“500 内部服务器错误”或“502 网关错误错误”。在本指南中,我们解释了此错误的含义以及如何在 WordPress 中修复它。
当用户访问您的网站时,他们会生成 HTTP 请求并将其发送到运行您网站的 WordPress Web 服务器。对于每个收到的请求,您的服务器会发回一个 HTTP 状态代码,其中包含从您的网站请求的资源。除非出现问题,否则用户通常不会看到这一点,然后他们会看到一个错误代码,一个 HTTP 状态代码,提示出现了什么问题。
开始写博客
在顶级硬件上自行托管您的 WordPress,具有 NVMe 存储和全球最低延迟 - 选择您最喜欢的发行版。
获取 WordPress VPS什么是 504 网关超时错误?
这是 5xx 系列状态代码。 “5”系列是服务器端错误,这意味着问题需要管理员解决。大约有一些错误代码,每个错误代码都有不同的解决方案(例如,请参阅我们的 HTTP 错误 505 的快速修复指南)。如您所知,错误可能发生在连接的任何地方、用户的浏览器、互联网连接、中间的任何地方或您的服务器上。当它发生在用户范围之外时,就是服务器端错误。当请求由于多个服务器之间的通信错误而无法完成时,就会出现此情况。
用户(或者当您浏览互联网时,您)可能会通过多种方式出现此错误。例如:
- 504 网关超时
- 504 网关超时 nginx
- 网关超时错误
- HTTP 错误 504
- 504 网关超时 – 服务器未及时响应
- 此页面无法正常工作 - 域名响应时间过长
- HTTP 错误 504 – 网关超时
- 网关超时 (504)
- HTTP 504
- 504错误
但这意味着什么呢?
504错误的原因是什么?
当服务器没有收到来自充当用户和网站之间网关或代理的另一台服务器的及时响应时,会显示 504 网关超时错误。简单地说,意味着请求已发送到您的网站,但等待响应的时间已过。
导致此错误的一些最常见原因是连接问题:
- 网络连接不良 在用户方面,导致沟通不畅,因此无法收到答复。
- 浏览器兼容性问题, 再次造成沟通不畅和响应超时。
- 代理设置不当, 这基本上阻止了请求到达服务器,因此没有收到答复。
不过,也有可能是服务器端确实出现了问题。如果您使用较弱的设备或服务器来托管 WordPress 网站,您的服务器可能会耗尽资源来及时响应请求,尤其是在流量高峰时。这导致 网络性能缓慢 导致响应超时。
在类似的情况下,如果您使用 共享主机 计划中,仅共享服务器上托管的一两个网站就足以达到峰值流量,从而减慢该服务器上运行的每个网站的速度。其原因是,顾名思义, 在共享主机上,所有资源都是共享的 同时在所有客户之间。这与 VPS 不同,在 VPS 中,您可以自己获得专用资源。这实际上是选择退出的最大原因 WordPress 虚拟专用服务器 而不是共享托管。
504网关超时错误也可能发生在有 您服务器上的防火墙配置错误。这种情况经常发生,尤其是在使用内容交付网络或 CDN 更快地向用户提供内容时。 CDN 是位于 Web 服务器和用户之间的代理服务器网络,并尝试从网络中较近的位置向用户提供服务器上请求最多的静态数据,从而减少延迟和 Web 服务器上的负载。但您的防火墙可能会阻止通过 CDN 网络(例如 Cloudflare)发出的某些请求。
504 错误的另一个常见原因是 DNS错误。如果您的 DNS 设置不正确,或者您网站的公共 DNS 服务器出现错误,用户的请求可能无法到达您,因为他们无法找到您的服务器,从而出现超时错误。由于用户或其代理服务器的 DNS 设置不正确,也可能会发生这种情况。
开始写博客
在顶级硬件上自行托管您的 WordPress,具有 NVMe 存储和全球最低延迟 - 选择您最喜欢的发行版。
获取 WordPress VPS如何修复 504 网关超时错误?
正如我们之前所说,虽然504被归类为服务器端错误,但有可能某些用户由于自身故障而遇到此错误。当你的网站报告504时,你能做的就是尝试从用户端慢慢地追踪到服务器端可能的原因。
在了解修复 WordPress 网站上的此错误的方法之前,请记住,其中一些方法需要更改服务器文件和服务器设置,因此强烈建议首先进行适当的更改 备份您的网站 以及您可能会改变的任何事情。
1. 刷新或重新加载 页面
确保确实存在问题,而不仅仅是传递错误。有时服务器只是暂时超载,刷新网页即可正常加载。只需等待几分钟,然后点击刷新按钮,或按 Ctrl+R(在 Windows 中)或 cmd+R(在 Mac 中)。

2、T尝试使用不同的浏览器.
有时问题出在您使用的特定浏览器上。尝试使用其他方法并查看错误是否仍然存在。
3.C哎呀不同的地点。
在等待几分钟刷新页面时,您可以从网站检查问题是否来自您的设备或服务器端。您可以使用多种服务从不同位置检查您的网站。您可以使用以下命令测试该网站 为所有人或只为我而下 or 现在是下来了吗?
如果问题是用户端的,则用户的浏览器、互联网设置、防火墙、代理或连接可能存在问题。有时,重新启动设备或网络设备可以解决用户的问题。
4. 刷新 DNS
有时 504 网关超时错误可能是由于 DNS 缓存不正确或过时造成的,但清除它很容易。不过,根据您的操作系统,执行此操作的方式可能有所不同。
要在 Windows 操作系统中刷新系统上的所有 DNS 记录,请打开命令提示符 (cmd),然后输入以下代码并按 Enter 键以使其运行:
ipconfig /flushdns
运行命令后,您应该看到如下图所示的结果行:

如果您使用的是 Mac OSX 操作系统,要刷新系统的 DNS 记录,请打开终端并输入以下代码:
sudo killall -HUP mDNSResponder
如果您使用的是 Linux 系统,您可以打开终端窗口并输入以下代码:
sudo/etc/init.d/nscd restart
这是刷新用户端的 DNS。如果问题出在服务器端,到目前为止的步骤不太可能解决问题。是时候尝试解决 WordPress 服务器上的问题了。
5. DNS问题
如果您最近对 Web 服务器上的 DNS 设置进行了更改,这些更改可能需要长达 24 小时才能在 Internet 上的所有位置生效。与此同时,尝试从某些网络连接的用户将无法找到并连接到您的网站。
您可以暂时将 DNS 服务器切换到 Google 公共 DNS,以查看 HTTP 状态代码是否因 DNS 问题而出现。但是,建议更高级的用户使用。
开始写博客
在顶级硬件上自行托管您的 WordPress,具有 NVMe 存储和全球最低延迟 - 选择您最喜欢的发行版。
获取 WordPress VPS6. 检查错误日志
由于最近的网站更改或更新,也可能会出现 504 网关超时错误。快速找出问题的方法是检查错误日志,看看是否可以找到罪魁祸首。在您的 WordPress 网站中,您可以通过将以下行添加到 wp-config.php 文件来启用错误消息日志记录:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
完成后,所有生成的日志将记录在 wp-contents/debug.log 文件中。

7. 检查你的插件。
有问题的插件通常是导致 504 超时错误的原因。过时或不兼容的插件和扩展可能会在 WordPress 中导致不同的问题和错误。在这种情况下,与缓存相关的插件可能有问题。问题是你通常不知道哪一个是罪魁祸首。
要查找您的 WordPress 插件是否导致 504 网关超时错误,您需要 停用所有 WordPress 插件 然后一一重新激活,看看是哪一个会导致504超时问题。
转到 WP 管理仪表板,然后单击 插件 选项卡。在这里,选中“插件”前面的复选框以选择所有插件,然后从“批量操作”菜单中选择“停用”并单击“应用”。

如果停用所有插件可以解决问题,那么您就知道可能是您的某个插件导致了该问题。开始一一重新激活插件,并检查重新激活其中任何一个插件后问题是否再次出现。当您发现有问题的插件时,禁用或删除该插件即可解决问题,并将其他插件恢复到之前的状态。
8. 检查您的内容分发网络 (CDN)
如果您使用 CDN 来更快地交付网站内容,则需要检查该方面是否一切正常。 Cloudflare 是中小型网站最常用的 CDN 解决方案之一,既充当 CDN 又充当缓解 DDoS 攻击的云安全系统。

当 Cloudflare 方面出现问题时,会出现上述版本的 504 错误。您可以联系 Cloudflare 支持人员或完全禁用它。如果您选择禁用它,对 DNS 记录的更改可能需要几个小时才能生效。
但是,更常见的是看到如下所示的 504 错误。此模式意味着 Cloudflare CDN 无法从您的 Web 服务器接收应答。

9. 检查防火墙设置
正确设置防火墙对于您的网站如何运行和响应请求非常重要。特别是当您使用 CDN 来提供内容时,由于许多请求来自相同的 CDN 节点,您的防火墙可能会将其标记为不需要的流量并阻止请求。
要解决此问题,您需要将网站防火墙系统上的 CDN 中的所有 IP 地址列入白名单。一般来说,您可以在 CDN 的网站上找到其 IP 地址列表。
您可以将服务器上的 .htaccess 文件中的 IP 地址列入白名单。请按照以下步骤操作:
- 使用 FTP 客户端(例如 FileZilla)连接到您的 Web 服务器,然后移动到包含网站文件的根目录。
- 双击 .htaccess 文件以下载其备份。
- 然后右键单击服务器上的 .htaccess 文件并选择“查看/编辑”。

现在将以下代码复制并粘贴到文件中:
<RequireAny> Require all granted Require ip 127.0.0.1 </RequireAny>
将 127.0.0.1 地址替换为您想要列入白名单的 IP 地址。对于您想要列入白名单的每个 IP 地址,复制这一行并将其粘贴到前一行下方,然后将 IP 地址更改为您想要的地址。
10. 更改服务器配置
如果您的网站使用 WordPress VPS 托管,则可以尝试采取多种措施来修复 504 网关超时错误。它们将涉及调整一些服务器设置和配置以及增加特定的资源限制。但一如既往,请记住 首先备份所有内容.
对于此方法,您需要通过 SSH 访问您的 VPS。如果您的 VPS 上运行的网络服务器是 Apache,您可以通过 SSH 连接到 httpd.conf 文件并增加默认超时值。将以下代码添加到文件中:
# Timeout: The number of seconds before receives and sends time out. Timeout 600
另一个流行的 Web 引擎是 Nginx。如果您使用 Nginx,则可以编辑位于 /etc/nginx/conf.d/timeout.conf 的 timeout.conf 文件
将下面的代码添加到文件中:
proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;
11. 升级您的托管计划
如果您正在运行一个成功的 WordPress 网站,并且流量不断增加,那么服务器资源在某一时刻出现短缺是不可避免的,这可能会导致用户出现 504 超时错误。建议根据您网站的流量升级您的托管套餐。
开始写博客
在顶级硬件上自行托管您的 WordPress,具有 NVMe 存储和全球最低延迟 - 选择您最喜欢的发行版。
获取 WordPress VPS结论
504网关超时错误是服务器端错误,但它基本上意味着用户无法到达服务器或从服务器接收答案,因此这可能发生在从用户浏览器和互联网连接到您自己的网站服务器的任何地方。
要找出并解决问题,您需要逐步检查问题,看看是什么解决了问题,然后进行修复以永久解决问题。如果这些步骤都无法解决您网站的 504 错误,最好联系托管公司的客户服务并向他们寻求帮助。