502カールがAPIと通信するときの無効なゲートウェイ

502カールがAPIと通信するときの無効なゲートウェイ

Bashスクリプト(cronとして呼び出される)のcurlコマンドは、データベースに対して操作を実行するために他のデバイス/サーバー(ホスティングAPIおよびSQLデータベース)からWebサービス/ APIを要求します。この操作にかかる時間は、実行される行数によって異なります。

APIは結果を私に返すことが重要であるため、そうするようにプログラムされています。

より大きな行のサブセット(例:数万ではなく数十万)に対して操作を実行すると、完了するまでに数分かかり、フィードバックはなく、エラーのみが発生することがわかりました。

"502 - Webサーバーがゲートウェイまたはプロキシサーバーとして機能している間に誤った応答を受けました。"

「Webサーバーがアップストリームコンテンツサーバーに接続したときに、コンテンツサーバーから誤った応答を受けました。」

カールが提供したオプションを確認し、接続の維持がデフォルト設定です。それでも指定しましたが、幸運ではありませんでした。

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

ベストアンサー1

おすすめ記事