问题标签 [http-status-code-504]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
905 浏览

apache - Apache 和 mod_wsgi 在发布特定 SVG 字符串时返回 504 错误

当我发布特定的 SVG 字符串时,Apache + mod_wsgi 中出现了一个奇怪的 504 错误。后端应用程序是 Python Flask,但它似乎根本无法访问应用程序。

这是一个返回 504 错误的请求:

这是另一个返回 200 的函数:

不同之处在于我只从 POST 数据中删除了一个字符

SVG 数据被缩减为可能产生错误的最小数据。原始的 SVG 字符串要大得多。

apache错误日志中出现的错误是:

有趣的是,在我发出请求之后,在发布数据上传完成之前,错误日志中就会出现错误。

以下是我们拥有的版本号:

任何线索可能导致这种情况?

更新:我们将 mod_wsgi 更新为 4.4.12,并且错误消息在 error.log 中发生了更改

这可能与 Web 服务器前面的 AWS 负载均衡器有关。将尝试对此进行调查。 http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-error-message.html#ts-elb-errorcodes-http504

0 投票
1 回答
3282 浏览

amazon-web-services - 为什么 AWS ELB(弹性负载均衡器)有时会立即返回 504(网关超时)?

ELB 偶尔会立即(不到 1 秒)向我们的客户返回 504。问题是,它完全是随机的,当我们立即重复请求时,它会正常工作。

有人对此有同样的问题或任何想法吗?

0 投票
2 回答
311 浏览

java - Java Restlet 出现 503/504 错误,停止运行

我有一个Java程序设置为每秒向服务器发出请求,使用Restlet,但每周在同一时间,他们在我运行程序的几个小时内进行大约一分钟的维护。

结果,我收到了几个 504 错误,然后是一个 503 错误,然后由于某种原因我的程序停止运行。它只是在 503 错误之后不会继续。它说:

检测到可恢复的错误 (503),在 2000 毫秒内再次尝试

但它不会再次尝试。由于我已将其设置为每秒继续请求服务器(一旦遇到“可恢复错误”就会停止请求),我想知道是否有办法让程序忽略 504 和 503 错误和就像什么都没发生一样继续。

0 投票
1 回答
536 浏览

nginx - Nginx 未找到,但服务器显示“504 Gateway Time-out”(WHM/cpanel)

服务器使用WHM/Cpanel,当长时间执行php脚本时,服务器显示“504 Gateway Time-out”。

但是我在服务器上找不到任何 nginx 文件...尝试过:

查找 / -name nginx.conf

哪里是 nginx

ps -lA | awk '$12 == "?" {打印 $4, $14}'

nginx -V

操作系统:CentOS

使用 cloudflare 的网站

0 投票
2 回答
217 浏览

http - Azure:无法浏览到 URL

蔚蓝一直表现得很奇怪。以前,一切都很好,直到我的云服务更新花费了通常的 20 分钟以上。然后我决定删除并重新部署,但不保留以前的证书。

所以我重新打包并重新部署;但是这次我无法通过通常的http://youraddrhere.cloudapp.net连接到网络应用程序。每次我这样做时,Chrome 都会失望地告诉我:ERR_CONNECTION_TIMED_OUT。当我远程进入云服务并从 IIS(即其内部 IP)中打开应用程序时,它奇迹般地工作了!但是,如果我无法将我的云服务公开为公共站点,那就没有用了……

快速检查事件查看器中的错误会显示以下内容: A fatal error occurred when attempting to access the SSL server credential private key. The error code returned from the cryptographic module is 0x8009030d. The internal error state is 10001.我尝试删除、创建、上传、删除、重新创建和重新上传大量 .cer 和 .pfx 文件,但无济于事。

这次我做错了什么?

0 投票
0 回答
605 浏览

php - 需要解释:PHP5-FPM 的 TIME_WAIT 保持打开 60 秒

前几天我遇到了一个问题,我的 nginx Web 服务器停止处理 php 脚本并给出 504 Gateway Timeout。我在端口 9000 上设置了 php5-fpm。

当我运行时,netstat | grep 9000我得到了以下结果,数百次使用不同的端口号

他们似乎根本没有清理干净。我怀疑我的服务器可能有很多流量,或者某个地方的脚本不好。我从服务器关闭了一堆低优先级站点(我有大约 10 个不同的 nginx 站点配置文件正在运行)并且事情再次出现,但是对于 php 页面的每个请求,netstat 报告其中 9000->37XXX 端口中的 1 个打开并且即使页面几乎立即返回到客户端,它也会保持打开 60 秒。

它保持打开 60 秒有什么原因吗?和/或为什么不重用连接?我有什么配置不正确吗?

我担心如果我的一个站点再次获得大量流量,它会再次占用所有连接,我会再次看到 504 网关超时,如果实际上这只是一个负载问题而不是一个糟糕的 php 脚本。

0 投票
0 回答
1544 浏览

python - Plotly & Python - 504 网关超时

我编写了一个小程序,用于分析工作中来自设备的大型数据集,并使用 Plotly 绘制数据图表。直到最近它运行良好,但是在过去一周中,它在绘制数据图表时一直出现 504 Gateway Timeout 服务器错误。代码中没有任何变化,尽管我尝试改变它的图形部分。我尝试重新安装 python/anaconda,以及安装和更新 plotly python 库。我已经使用三个不同的帐户重新初始化了 plotly 的 API 凭据,但均未成功。到目前为止,尽管做出了所有努力,但错误仍然存​​在,尽管我可以在使用 python 控制台时绘制图表。

对此的任何帮助都会非常有用。如有必要,我可以发布部分代码。以下是控制台输出的错误。

文件“NKDA_2.1.py”,第 51 行,在 thisPulseCount, thisArcCount, thisMaxCurrent = FH.processFile(procedureID, currentProcedure, resultsFolder) 文件“C:\Users\cellison\Documents\Data Analysis\fileHandling.py”,第 97 行,在 processFile unique_url = py.plot(fig, filename=graphName) File "C:\Users\cellison\AppData\Local\Continuum\Anaconda\lib\site-packages\plotly\plotly\plotly.py",第 262 行,在情节 res = _send_to_plotly(figure, **plot_options) 文件“C:\Users\cellison\AppData\Local\Continuum\Anaconda\lib\site-packages\plotly\plotly\plotly.py”,第 1421 行,在 _send_to_plotly r .raise_for_status() 文件“C:\Users\cellison\AppData\Local\Continuum\Anaconda\lib\site-packages\requests\models.py”,第 851 行,在 raise_for_status 中引发 HTTPError(http_error_msg, response=self) 请求。exceptions.HTTPError:504 服务器错误:GATEWAY_TIMEOUT

0 投票
1 回答
33 浏览

wordpress - Wordpress 未在新的专用服务器下运行

我刚刚将我安装的 WordPress 从共享主机(工作得很好)移到了专用服务器,我不断收到“500 Internal Server Error”错误。我尝试删除.htaccess,重命名插件文件夹,增加内存,但没有任何效果。我还应该尝试什么?

我注意到的一件事是,当我将 PHP 支持从“FastCGI 5.4.45”更改为“Apache 5.4.45”时,我收到“504 Gateway Time-out”错误。

0 投票
0 回答
1499 浏览

java - Camel HTTPS4 调用失败,但 CamelHttpResponseCode 标头显示 200

我正在使用使用 https4 组件(camel 版本 2.14.0)通过 HTTP 请求资源的路由。死信通道通过将失败的交换路由到日志端点来处理错误,如下所示:

在网关超时 (504) 的情况下,将HttpOperationFailedException引发错误并按预期记录交换。自从我设置showAll=true了,所有的交换头都被记录了,包括CamelHttpResponseCode. 日志如下所示:

标题不应该在CamelHttpResponseCode这里说 504 吗?

0 投票
3 回答
13081 浏览

php - 调试504网关超时及其实际原因及解决方法

我们在 RHEL 6.6 上的 Web 服务器 Varnish + Nginx + FastCGI (php-fpm) 上运行以下堆栈

它是一个动态网站,每次都有不同的结果集,并且有大约 200 万个 URL 被 Google 索引。

  • 它在 nginx/1.5.12 和 PHP 5.3.3 上运行(即将升级到最新的 nginx 和 PHP)
  • Nginx 连接到在端口 9000 上同一台服务器上本地运行的 php-fpm

我们在一些我们无法解决的页面上间歇性地收到 504 网关超时。一段时间后,给出 504 的 URL 可以正常工作。我们从日志中了解了 504,但我们无法复制它,因为它随机发生在任何 URL 上并且在一段时间后会起作用。

我已经与开发人员进行了几次讨论,但根据他的说法,底层的 php 脚本几乎没有任何作用,它不应该花费这么长时间(120 秒),但它仍然给出 504 网关超时。

需要确定问题发生的确切位置:

  • 是 Nginx 的问题吗?
  • php-fpm 有问题吗?
  • 底层php脚本有问题吗?
  • nginx 是否有可能无法连接到 php-fpm ?
  • 如果我们使用 Unix 套接字而不是 TCP/IP 连接,它会解决吗?

URL 在 120 秒后超时,出现 504

以下是看到的错误: 2016/01/04 17:29:20 [error] 1070#0: *196333149 upstream timed out (110: Connection timed out) while connection to upstream, client: 66.249.74.95, server: xxxx,请求:“GET /Some/url HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“example.com”

较早的 fastcgi_connect_timeout 为 150 秒 - 在 RHEL 6.6 上默认 net.ipv4.tcp_syn_retries = 5 时,它在 63 秒后给出 502 状态码;之后我们设置 net.ipv4.tcp_syn_retries = 6 然后它在 127 秒后开始给出 502。

一旦我设置了 fastcgi_connect_timeout = 120 它就开始给出 504 状态码。我了解如此高的值的 fastcgi_connect_timeout 并不好。

需要找出为什么我们会得到 504(我知道它的超时,但原因未知)。需要找到根本原因才能永久修复它。

我如何确认问题到底出在哪里?

以下是一些已经定义的超时:

在服务器范围的 nginx.conf 下:

  • keepalive_timeout 5;
  • 发送超时 150;

在特定的 vhost.conf 下:

  • proxy_send_timeout 100
  • proxy_read_timeout 100
  • proxy_connect_timeout 100
  • fastcgi_connect_timeout 120
  • fastcgi_send_timeout 300
  • fastcgi_read_timeout 300

使用了不同的超时值,因此我可以找出确切触发了哪个超时。

以下是 sysctl.conf 中的一些设置:

  • net.ipv4.ip_local_port_range = 1024 65500
  • net.ipv4.tcp_fin_timeout = 10
  • net.ipv4.tcp_tw_reuse = 1
  • net.ipv4.tcp_syn_retries = 6
  • net.core.netdev_max_backlog = 8192
  • net.ipv4.tcp_max_tw_buckets = 2000000
  • net.core.somaxconn = 4096
  • net.ipv4.tcp_no_metrics_save = 1
  • vm.max_map_count = 256000

如果它的代码写得不好,那么我需要通知开发人员 504 是由于 php 代码中的问题而不是由于 nginx 或 php-fpm 而发生的,如果它是由于 Nginx 或 Php-fpm 导致的,那么需要修复它。

提前致谢!

======

进一步更新:

有2种情况:

  1. 504 @ 120 秒出现以下错误:

2016/01/05 03:50:54 [错误] 1070#0: *201650845 连接到上游时上游超时(110:连接超时),客户端:66.249.74.99,服务器:xxxx,请求:“GET /some /url HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“example.com”

  1. 504 @ 300 秒出现以下错误:

2016/01/05 00:51:43 [错误] 1067#0: *200656359 从上游读取响应标头时上游超时(110:连接超时),客户端:115.112.161.9,服务器:192.168.12.101,请求: “GET /some/url HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“example.com”

  • 在 php-fpm 日志中未发现错误。
  • php-fpm 进程数也正常。后端看起来并没有超载,因为其他请求同时得到了很好的服务。

  • 只使用了一个 php-fpm 池。一个 php-fpm 主(父)进程和其他从(子)进程通常只有在观察到 5xx 时才处于正常范围。php-fpm 进程的数量没有显着增长,即使增长,服务器也有足够的容量来分叉新进程并服务请求。