当curl与API对话时502错误网关

当curl与API对话时502错误网关

Bash 脚本中的curl 命令(由 cron 调用)请求另一个设备/服务器(托管 API 和 SQL 数据库)上的 Web 服务/API 对数据库执行操作。此操作需要多长时间取决于执行该操作的行数。

API 将结果传回给我很重要,因此它被编程为这样做。

我注意到,当对较大的行子集(例如数十万,而不是数万)执行操作时,大约需要几分钟才能完成操作,我没有得到任何反馈,但是只有一个错误:

“502 – Web 服务器在充当网关或代理服务器时收到无效响应”

“当 Web 服务器联系上游内容服务器时,它收到了来自内容服务器的无效响应。”

我查了一下curl给我的选项,keep-alive是默认设置。尽管如此,我还是指定了它,但没有运气:

curl -s --keep-alive-time 5 –X GET “https://api.url.com/api/call” –H “accept: application/octet-stream” –H “Authorization: Bearer $password”

因为这是我调用的唯一命令,除了 keep-alive、--connect-timeout 和 –m 之外根据这个线程似乎不适用,我很快就没有想法了。

有人能指出我正确的方向吗?

编辑:按照建议检查日志,表明我需要增加 ARR 超时([Windows 文章][2])。其他线程解释了简单的步骤。

但是,我在 IIS 1607 (Windows Server 2016) 中没有看到应用程序请求路由 (ARR)

[2]:http://(https://docs.microsoft.com/en-us/iis/extensions/troubleshooting-application-request-routing/troubleshooting-502-errors-in-arr

相关内容