Git push がプロキシ経由で HTTP 417 を返す
HTTP 417 は期待が満たされなかったことを意味します。認証情報の変更や Git のバッファ設定の増加の前に、応答を発行した主体を特定してください。
小さな Git 操作は成功するのに、別の操作は HTTP 417 を返す。このステータスは「プロキシのパスワードが拒否された」という略語ではない。
HTTP は 417 を期待の失敗と定義している。Expect フィールドを含むリクエストは、その期待を満たせないサーバーや仲介者に遭遇することがある。100-continue のやり取りは、アップロード本文が送信される前の判断を説明する。
どのコンポーネントが応答を発行したのか、リクエストに何が含まれていたのかを突き止める。丁寧に編集した Git の HTTP トレースとプロキシ側の対応するログ項目は、commit のサイズから推測するより有用である。
内部リポジトリが直接経路を使うべきなら、そのルーティングポリシーを意図的に修正する。プロキシを使わなければならないなら、その経路の互換性を調べる。すべてのプロキシ設定を削除すると、失敗を説明しないまま別の経路を選んで症状を隠すことがある。
同様に、http.postBuffer はプロキシのエラーに対する万能薬ではない。変更する前に Git の設定リファレンスでオプションを理解する。数値の HTTP ステータス、リクエストの段階、それを返すコンポーネントが次の一手を導くべきである。