WRONG_VERSION_NUMBER med proxy: sjekk HTTP mot HTTPS
Diagnostiser eit transportavvik i proxyen før du nedgraderer TLS-versjonar eller endrar sertifikatinnstillingar på grunn av ein misvisande SSL-feil.
Feilen seier “feil versjon”, så det freistar å byrje å byte TLS-versjonar. Med ein proxy bør du sjekke ein tidlegare moglegheit: sende klienten eit TLS-handtrykk til ein port som venta på vanleg HTTP?
Ein destinasjon som https://example.com/ og ein proxy som http://proxy.example:8080 er eit vanleg par. Å endre den andre URL-en til HTTPS seier til klienten at han skal kryptere samtalen sin med sjølve proxyen. Det er ikkje ei pålegg om å tillate HTTPS-nettstader.
Finn den første TLS-samtalen
Med ein HTTP-proxy kan klienten først sende CONNECT og få eit HTTP-svar. Først etterpå startar han TLS-en til destinasjonen inne i tunnelen. Med ein HTTPS-proxy kjem ei eiga TLS-tilkopling til proxyen først.
Ein TLS-parsar som får ei HTTP-feilside eller annan vanleg tekst, kan rapportere ein protokollfeil. Formuleringa fastslår ikkje kva TLS-versjonar nettstaden støttar, eller om nettstaden i det heile vart kontakta.
- Noter URL-en til proxyen, inkludert skjemaet, og den dokumenterte protokollen til endepunktet.
- Finn ut om feilen skjedde før eit CONNECT-svar, under TLS-en til destinasjonen eller under verifiseringa av proxyen sitt eige sertifikat.
- Sjekk dei faktiske versjonane av klienten og avhengnadene når du samanliknar ein gammal omveg. Tidlegare proxyimplementasjonar handsama eit skjema stundom annleis.
Fleire rettingar kan vere feil av ulike grunnar. HTTP-proxylista tilbyr vanlege HTTP-endepunktkandidatar for offentlege førespurnader som er tillatne gjennom ein slik rute. Eit vanleg HTTP-endepunkt treng HTTP-proxyskjemaet; eit verkeleg TLS-aktivert endepunkt bør halde på HTTPS og sertifikatverifiseringa. Ein proxy som avviser CONNECT, treng ein støtta teneste eller policy, ikkje ein vilkårleg nedgradering av biblioteket.
Hald på den første observerbare feilen. Å slå av sertifikatverifisering kan ikkje få ein mottakar som berre snakkar HTTP til å snakke TLS, og val av ein gammal sifferpolicy kan ikkje forklare ei HTTP-avvising send før handtrykket til nettstaden.