APT がすべてのダウンロードに CONNECT を使わない理由
通常の HTTP 転送と HTTPS トンネリングでは、プロキシとの会話が異なります。CONNECT のみに対応したサービスは、HTTP リポジトリが生成するリクエストをサポートしない場合があります。
「プロキシが CONNECT を受け付ける」ことは、APT が送るすべてのリクエストを受け付けることを意味しません。
通常の HTTP リポジトリでは、APT は通常の HTTP プロキシ転送を利用できます。プロキシは宛先リソースを識別する HTTP リクエストを受け取ります。HTTP プロキシ経由の HTTPS では、クライアントは通常 CONNECT トンネルを確立し、その中で宛先の TLS セッションをネゴシエートします。
| 宛先 | HTTP プロキシとの典型的な会話 |
|---|---|
| HTTP リポジトリ | HTTP リクエストを転送 |
| HTTPS リポジトリ | CONNECT してから宛先の TLS |
トンネルだけを受け付けるサービスは、通常の転送リクエストを拒否することがあります。HTTP 405 は、実際のメソッド、応答の発行者、プロキシのポリシーを確認する価値があります。それは APT に SOCKS サポートがないことや、パスワードが間違っていることを証明するものではありません。
サービスの対応範囲を APT のトランスポートに関する文書と CONNECT の意味 と比較してください。互換性のある承認済みサービス、またはサポート対象のリポジトリ URL を使用してください。公的な仲介者が許可される公開リポジトリでは、HTTP プロキシ一覧 がそれらの要件に照らして確認できる候補を提供します。プロキシ アドレスに https:// を追加するとリポジトリのプロトコルが変わる、あるいはすべてのリクエストがトンネルになる、と決めつけないでください。