当我的API关闭时,如何获取503错误代码而不是504?

时间:2019-04-15 13:17:01

标签: api mule http-status-codes

我已经开发了我的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的选项?

2 个答案:

答案 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的对待大致相同,这意味着服务器问题。