问题标签 [http-status-code-502]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1146 浏览

nginx - nginx proxy_next_upstream 工作很奇怪

nginx 的 proxy_next_upstream 工作很奇怪。

当上游到其他国家/地区的代理无法返回请求时,我想传递到下一个服务器。所以我像这样设置上游(代理到其他国家)。

它运作良好。但是连接tomcat的上游也会在失败时重试。

上游tomcat配置

我认为只有当上游有两个以上的服务器时,nginx 才会尝试下一个上游。

但即使上游有一台服务器,它也会尝试两次以上。

我使用 nginx、tomcat 和 java spring。

有我的nginx的配置、访问日志和错误日志。

代理配置

日志格式

访问日志

错误日志

如您所见,我将 proxy_next_upstream_tries 设置为 2。但它重试了两次以上。(访问日志:{502、502、502、502} -> 这意味着上游尝试第四次代理到下一个服务器)

我对此有疑问。

  1. 我希望上游 tomcat 不会重试通过下一个服务器。可能吗?
  2. 为什么上游只有一台服务器时会重试?
  3. 为什么它重试两次以上?
  4. 当upstream返回502时,为什么暂时无法连接?(发生时,服务器状态正常)

如果您知道我的问题之一的答案,请告诉我。

谢谢你。

0 投票
0 回答
87 浏览

python - 读取超时 Firebase

我目前有一个处理推送通知的遗留项目,其订阅者群在 Firebase 中,因为订阅使用 gcloud 平台中的功能是以下技术。

节点:“10”firebase-admin“:”^ 8.9.2“,firebase-functions”:“^ 3.3.0”

创建通知时,会生成一个 .json 文件,该文件将发送到不同的 vps,与将通知分派给 base 的订阅者相同。

然而,从本月 11 日开始,它开始抛出随机 502 错误,这是以前没有发生过的。发送 502 的函数是下一个:

没有对实施进行任何更改。在 CMS(CMS 在 python 3.6 中)方面,我在日志中收到以下错误:

触发它的代码行如下:

它如何增加响应时间以及可能导致它的原因是什么?谢谢。

0 投票
3 回答
3523 浏览

google-cloud-platform - 谷歌云负载均衡器导致错误 502 - failed_to_pick_backend

当我使用带有 CDN 的谷歌云平衡器时出现错误 502,问题是,我很确定我在设置负载平衡器时做错了什么,因为当我删除负载平衡器时,我的网站运行得很好。

这就是我 在这里配置负载均衡器的方式

检查负载均衡器日志消息时,它会显示一条错误消息 failed_to_pick_backend 。我试图重新配置负载均衡器,但没有帮助。

我刚开始学习谷歌云,我的知识真的很有限,如果有人能一步一步地告诉我如何解决这个问题,将不胜感激。谢谢!


0 投票
1 回答
103 浏览

xml - 在 Vercel 中制作 XMLHttpRequest

我正在尝试使用 Vercel 来查询其他 API。我能够让 Vercel 服务器接收查询并返回适当的值。我还可以毫无问题地从另一个 js 文件生成 XMLHttpRequest。当我尝试将 XMLHTTPRequest 插入我的 Vercel 服务器时,问题就出现了。

每当我现在尝试访问服务器时,都会收到 502 bad gateway 错误。我相信错误是在当前 Vercel 服务器中发出另一个 HTTP 请求。我不确定如何做到这一点。

任何提示将非常感谢!

0 投票
0 回答
1346 浏览

c# - NuGet 私有服务器在推送新包时返回 502 (Bad Gateway)

我部署了新的私有 NuGet 服务器(NuGet.Server.3.4.1)并在 web.config 中设置了 API 密钥。

然后我从我的 .net 核心类库项目中创建了第一个 nuget 包。

但是当我尝试运行以下命令时

dotnet nuget push packageName.1.0.0.nupkg --api-key myKey --source https://privateNugetServer.com/nuget

我从服务器收到错误

错误:响应状态码不表示成功:502(网关错误)。

当我使用 Nuget 服务器本身手动上传包时,我尝试了解决方法,但是当我将其他包源添加到指向我的服务器的 Visual Studio nuget 管理器时,我仍然收到此错误。

错误:响应状态码不表示成功:502(网关错误)。

可能是什么问题?

0 投票
2 回答
782 浏览

amazon-web-services - 如何最好地管理 AWS 中的 Cloudfront/Nginx 502 Bad Gateway 错误

我们有一个通过 CloudFront 提供服务的网站。本周某个时候,源 EC2 (ECS) 服务器崩溃了,并在短时间内开始返回 502 错误:

502 错误网关 | Nginx

这个问题很快得到解决,但我们有几个用户仍然在他们的浏览器中看到错误。他们都在使用 Google Chrome,而且问题似乎一直存在(就像浏览器/CloudFront 已经缓存了错误)。一位用户通过进入隐身模式解决了该问题,另一位用户每次点击我们新闻通讯中的链接时都会看到该问题。其他一些用户仅通过使用不同的浏览器解决了该问题。

我不确定如何开始调试。另外,我想如果接收到 502 错误,它不会缓存页面内容。此外,我无法从我的最终复制。

要向问题添加额外信息:

我不是在寻找有关如何停止或管理 502 错误网关错误的建议。我们知道为什么这些会发生(ed)这个问题纯粹是在将缓存的 502 错误交付给用户后修复它们的建议。

从目前的反馈来看,我们可以在 10 秒后在 CloudFront 中取消缓存 502 错误。这已启用,但问题仍然存在。

我在这里的感觉是用户的浏览器已经缓存了 503 错误页面并且没有从服务器请求更新。在不让他们清除缓存的情况下,有没有办法将 CloudFront 或他们的浏览器设置为仅在短时间内缓存 502 错误,然后再从服务器请求更新页面?

另外,又想了想。错误是'502 Bad Gateway | Nginx' 这甚至来自 CloudFront 吗?我的服务器可以发送带有 502 错误的长 Cache-Control 标头吗?

0 投票
1 回答
174 浏览

amazon-web-services - 增加 AWS Elastic Beanstalk 实例大小或增加负载均衡器是否有助于减少随机 502 Nginx 错误?

我最近在我的 Elastic Beanstalk 应用程序中添加了一个 CPU 密集型 20MB+ 图像解码/解析函数,并注意到有时(大约 10% 的时间)调用函数本身或随后对应用程序的不相关请求会导致502错误,来自 Nginx,而不是应用程序本身:

我的 Elastic Beanstalk 实例是一个t2.small正在运行的Docker running on 64bit Amazon Linux 2/3.2.0操作系统,我的负载均衡器如下所示:

切换到更大的实例大小或增加负载均衡器的进程是否有助于减轻502我看到的错误?

0 投票
1 回答
245 浏览

angular - Docker 用 Angular 502 Bad Gateway 组合

我正在使用 docker compose 将我的应用程序放在服务器上。我有三个容器,angular、spring 和 https-portal。我的码头工人撰写文件:

以及 Angular 服务的 docker 文件

当我尝试访问www.bloomingthebrand.com时,服务器返回 502 Gateway Error ngix

Angular 应用程序在端口 4200 中启动

0 投票
1 回答
713 浏览

python - 防止忽略非 200 响应状态 - Scrapy

我正在抓取一个网站,我想在获得响应状态 50x 时重试请求,但我得到了

忽略非 200 响应

我怎样才能摆脱它并重试请求几次(例如默认为 3 次)或重试直到获得 200 响应状态。

更新:

我的自定义重试中间件是:

它应该像内置一样工作,RetryMiddleware但它没有,我RETRY_TIMES = 4在我的设置中设置但蜘蛛502在失败 1 次后忽略状态。要重现此问题,此链接始终返回 502 状态代码。我通过以下方式启用了我的自定义中间件:

0 投票
2 回答
667 浏览

docker - Cloud Run/Gunicorn 在一分钟后给出 502 错误

我正在使用 Gunicorn 的 Google Cloud Run 中部署一个 python 应用程序。我的 gunicorn 和 cloud run 超时都设置为 900 秒,这也是 Cloud Run 的超时。奇怪的是,当我调用该函数时,如果应用程序运行时间超过 60 秒,我会从 Cloud Run 收到 502 错误,如果运行时间少于 60 秒,则不会。例如,下面的部署函数抛出了这个错误:

但是,如果我将睡眠时间更改为 40 秒:

没有502错误。起初我以为问题是由 nginx 引起的,它有 60 秒的默认超时时间,但似乎 nginx 不是默认使用 docker 或 cloud run 部署的,所以这似乎不是问题的原因。我的 Dockerfile 如下:

axios在前端调用云运行,据我了解,它没有超时,所以我不认为这应该是一个问题。任何帮助表示赞赏,谢谢!

编辑:这是 chrome 控制台中错误消息的图像 - 但似乎不是很有帮助:

在此处输入图像描述