我已经开发了我的API并在mule API Manager中注册。
当我的API崩溃并尝试通过Postman工具访问API时,出现以下错误。
<html>
<head>
<title>504 Gateway Time-out</title>
</head>
<body bgcolor="white">
<center>
<h1>504 Gateway Time-out</h1>
</center>
<hr>
<center>nginx</center>
</body>
</html>
理想情况下,应该为503 –服务不可用。是否有任何获取错误代码503而不是504的选项?
答案 0 :(得分:1)
如果您的API管理器中的API关闭,则您无能为力。如果后端实施失败,则可以采取一些措施来覆盖状态代码。
但是当您的API管理器中的API关闭时,您的控件中就什么都没有了。
504在技术上仍然有效,因为nginx充当代理,并且无法访问您的API。
但是我不用担心。所有API客户端应处理相同的5XX状态代码。如“服务器错误”中所述,以后可能会重试。
此外,如果API管理器中的API处于关闭状态,则504应该花一些时间才能获得响应。因此,我可能会在达到该点之前设置一个不错的请求超时。
答案 1 :(得分:0)
那实际上不在您的控制范围内。 503和504之间的区别在于503表示您的应用程序服务器出现问题,而504表示您正在使用的网关出现问题。
例如,如果我将nginx用作网关,并且将重定向到某些应用程序服务器。如果应用服务器关闭,则nginx将返回503。 但是,如果应用服务器无响应,或者nginx本身发生故障(由于加载或其他问题),则响应为504。
通常,您不必担心响应是什么。在大多数情况下,对5xx的对待大致相同,这意味着服务器问题。