テクノロジー · 実用ガイド
curl error 6「Could not resolve host」?DNS変更前にホスト名と実行環境を証明
終了コード6だけでは原因の所有者は分かりません。元のURLとcurlが解析したホスト名を保存し、失敗したプロセスと同じリゾルバー、プロキシ、ネットワーク名前空間で確認します。

curl の code 6 は名前解決失敗を示すだけで、公開DNSの障害を証明しません。誤ったホスト文字列、プロキシ名、サービスやコンテナ固有の環境が原因になり得ます。
完全なコマンド、URL、エラー、実行主体を固定し、同じ環境で対象名と既知の正常名を比較して、証明した境界だけを修正します。
コマンドとホスト名を保存
元の引数、作業ディレクトリ、実行主体、URL、全エラーをコピーし、引用、変数、空白、改行を確認します。エラー中のホスト名は証拠です。
scheme、host、portを分け、プロキシがあればその名前も記録します。打ち直した短いコマンドで置き換えません。
失敗した実行環境で再現
同じコンテナ、サービスユーザー、ジョブ、アプリ内で最小の名前検索とcurl詳細試験を行います。shell成功はサービス成功を意味しません。
対象名と既知の正常名を比較します。両方失敗なら環境全体、対象だけなら綴り、検索ドメイン、ローカル方針、権威情報を調べます。
目的地とプロキシを分離
curlとアプリのプロキシ設定について出所と範囲を確認します。古いプロキシ名もcode 6を起こし、必要な企業プロキシの削除も障害になります。
同じ環境でプロキシ名と目的名を別々に調べ、所有者と方針が確認できた設定だけ変更します。
上書きは限定診断にする
--resolve は正確なhost:portに検証済みアドレスを割り当て、URL名を保持します。期間を限定してコマンドと結果を保存します。
成功しても永久hosts項目の安全性は証明されません。DNSローテーションとHTTPS名検証は残ります。
元の要求で終了確認
狭い修正後、元の環境で元のコマンドを実行し、名前、接続先、プロキシ判断、応答、終了コードを秘密なしで記録します。
名前が変わる、不明な上書きだけで成功する、別環境が失敗する場合は停止します。元の要求が広い変更なしで成功して完了です。
