计算引擎实例需要 60 秒来处理请求,但在响应之前超时

计算引擎实例需要 60 秒来处理请求,但在响应之前超时

我有一个带有 Docker 映像的计算引擎 VM 实例。它有一个服务器,可以执行昂贵的计算,每个请求大约需要 2 分钟。

服务器对小请求的响应非常完美。对于较大的请求,它会做出以下响应:

<HEAD><TITLE>Connection Timed Out</TITLE></HEAD>
<BODY BGCOLOR="white" FGCOLOR="black">
<FONT FACE="Helvetica,Arial"><B>
 Connection Timed Out</B></FONT>

<!-- default "Connection Timed Out" response (504) -->
</BODY>

我的docker容器中的服务器没有返回这个。

查看 504 错误的含义:

The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URI (e.g. HTTP, FTP, LDAP) or some other auxiliary server (e.g. DNS) it needed to access in attempting to complete the request.

Note: Note to implementors: some deployed proxies are known to return 400 or 500 when DNS lookups time out.

这清楚地表明,计算引擎有一个代理,它在 30 秒后超时并给出上述响应。

查看 stackdriver 日志,我发现我的服务器确实收到了请求并对其进行了处理,但是在完成之前,我得到的却是上述响应。

如何阻止计算引擎干预我的服务器逻辑?或者至少如何增加超时限制?

答案1

该问题已通过使用端口 8080 得到解决,除 80 之外的任何端口都可以工作。

出于某种原因,如果您不使用端口 80,GCE 将不会干预您的事务。

相关内容