gpt4 book ai didi

kubernetes - 当我有多个Pod时,Nginx Ingress返回自定义http错误

转载 作者:行者123 更新时间:2023-12-02 12:01:41 24 4
gpt4 key购买 nike

我有一个工作负载,一个服务和一个将流量路由到该服务的Nginx入口 Controller 。只要我只有一个 pod ,一切都很好。现在,当我通过将副本设置为2进行扩展时,我的API返回的http错误将转换为HTML页面-隐藏了我随错误返回的重要信息。

当我的API返回时:

res.status(502).send('The error is THIS!');

我在回应中看到的是:
<html>

<head>
<title>502 Bad Gateway</title>
</head>

<body bgcolor="white">
<center>
<h1>502 Bad Gateway</h1>
</center>
<hr>
<center>nginx/1.11.3</center>
</body>

</html>

如何绕过此自定义错误创建并接收我的原始错误消息?

最佳答案

这是by design。如果有多个后端(服务端点),则ingress-nginx在收到来自后端服务的502、503或504响应状态时将尝试下一个后端。当没有更多后端可以尝试时,将产生自定义错误。

设置注释nginx.ingress.kubernetes.io/service-upstream: "true"将更改nginx的行为,使其指向一个后端,即k8s集群服务ClusterIP。通常,nginx将所有服务端点作为后端服务器进行管理。

请注意,使用此注释会将负载平衡决策移至Kubernetes集群服务路由域,而不是nginx的逻辑。

关于kubernetes - 当我有多个Pod时,Nginx Ingress返回自定义http错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60837035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com