Dlaczego APT nie używa CONNECT do każdego pobierania
Zwykłe przekazywanie HTTP i tunelowanie HTTPS wykorzystują różne rozmowy z serwerem proxy. Usługa obsługująca tylko CONNECT może nie obsługiwać żądań generowanych przez repozytorium HTTP.
„Serwer proxy akceptuje CONNECT” nie oznacza, że akceptuje każde żądanie, które wyśle APT.
W przypadku zwykłego repozytorium HTTP APT może używać normalnego przekazywania przez serwer proxy HTTP: serwer proxy otrzymuje żądanie HTTP identyfikujące zasób docelowy. W przypadku HTTPS przez serwer proxy HTTP klient zwykle ustanawia tunel CONNECT, a następnie negocjuje przez niego sesję TLS celu.
| Cel | Typowa rozmowa z serwerem proxy HTTP |
|---|---|
| Repozytorium HTTP | Przekaż żądanie HTTP |
| Repozytorium HTTPS | CONNECT, następnie TLS celu |
Usługa akceptująca tylko tunele może odrzucić zwykłe przekazane żądanie. HTTP 405 zasługuje na spojrzenie na rzeczywistą metodę, wystawcę odpowiedzi i politykę serwera proxy; nie dowodzi to, że APT nie obsługuje SOCKS ani że jego hasło jest błędne.
Porównaj obsługiwane zachowanie usługi z dokumentacją transportu APT i semantyką CONNECT. Użyj zgodnej zatwierdzonej usługi lub obsługiwanego adresu URL repozytorium. W przypadku publicznych repozytoriów, w których dozwolone są publiczne pośredniki, lista serwerów proxy HTTP oferuje kandydatów do sprawdzenia pod kątem tych wymagań. Nie zakładaj, że dodanie https:// do adresu serwera proxy zmienia protokół repozytorium lub zamienia każde żądanie w tunel.