首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTP状态504

HTTP状态504
EN

Stack Overflow用户
提问于 2008-11-04 11:05:49
回答 6查看 198.5K关注 0票数 76

当我的win32 (c#)应用程序调用web服务时,我收到以下错误。

代码语言:javascript
复制
The request failed with HTTP status 504: Gateway timeout server response timeout.

我理解“我认为”这是因为上游请求没有得到及时的响应。

但我的问题是?如何更改win32应用程序中的app.config设置,以便有更多时间处理其数据。我假设我需要在我的应用程序设置上进行这些更改,因为托管ws的webservices和IIS的设置时间延长了。

期待您的回复并提前向您致谢。

EN

回答 6

Stack Overflow用户

发布于 2011-12-14 03:08:23

你不能。问题不是你的应用程序没有耐心并且超时;问题是中间代理没有耐心并且超时。“服务器在充当网关或代理时,没有从URI指定的上游服务器收到及时的响应。”(http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.5)它很可能表示源服务器出现了某种问题,因此它不能快速响应转发的请求。

可能的解决方案,没有一个可能会让你满意:

  • 增加代理的超时值(如果在您的控制之下)
  • 向另一台服务器发出请求(如果有另一台服务器具有相同的数据)
  • 以不同的方式发出请求(如果可能),以便一次请求的数据较少
  • 一旦服务器没有问题,请重试
票数 53
EN

Stack Overflow用户

发布于 2008-11-04 11:19:17

CheckUpDown有a nice explanation of the 504 error

服务器(不一定是网络服务器)充当网关或代理,以满足客户端(例如,您的网络浏览器或我们的CheckUpDown robot)访问所请求的

的请求。此服务器没有收到它访问的处理您的HTTP请求的上游服务器的及时响应。

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

此问题完全是由于后端计算机之间的IP通信缓慢造成的,可能包括Web服务器。只有在托管网络服务器的站点上设置网络的人员才能解决此问题。

票数 23
EN

Stack Overflow用户

发布于 2016-05-18 17:23:56

假设访问代理服务器A(例如,nginx),并且服务器A将该请求转发到另一服务器B(例如,tomcat)。

如果此过程持续很长时间(超过代理服务器读取超时设置),A仍未获得B的完整响应。

对于nginx,你可以配置proxy_read_timeout(in location)属性来解决his.But,如果你把这个值设置得太高,这通常不是一个好主意。这可能隐藏了真正的错误。你最好改进设计才能真正解决这个问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/261536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档