VPN povezan, ali miješani sadržaj još je blokiran: što popraviti
Razvrstajte blokirani URL prema tome tko ga je stvorio, popravite referencu ili je predajte vlasniku hosta, a zatim potvrdite popravak u konzoli preglednika.
Polovica stranice se iscrtava, jedna se stilska datoteka prikazuje sivom u ploči Mreža, a VPN klijent i dalje izvješćuje o zdravom tunelu. Sva tri opažanja istodobno su istinita, jer je preglednik prosudio zahtjev koji je stranica uputila, a tunel nije imao glasa u toj prosudbi. Slučaj zatvara odluka, a ne postavka: popraviti referencu, eskalirati je onome koji posjeduje host ili napustiti ovisnost. Svaka od tih opcija ima jeftin test, a odabir pogrešne stoji jedan ciklus podrške.
Zašto tunel ne može pokriti podresurs
Miješani sadržaj počinje HTTPS dokumentom koji traži podresurs preko običnog HTTP-a. Svaki se URL prosuduje prema vlastitoj shemi, pa se zaštita nadređenog dokumenta nikada ne proteže na podređeni zahtjev. Šifriranje dodano ispod preglednika mijenja ono što ide žicom, ne http:// koji je oznaka zatražila.
Trenutačni preglednici dijele te zahtjeve u dvije skupine i različito ih tretiraju. Skripte, stilske datoteke, iframeovi i pozivi putem fetch, XMLHttpRequest ili WebSocket odbijaju se odmah, bez ikakvog prethodnog pokušaja nadogradnje. Slike, zvuk i video prepisuju se u https:// i ponovno traže, a učitavanje se prekida kada to sigurno dohvaćanje ne uspije. URL podresursa čiji je host gola IP adresa izuzet je od nadogradnje, pa HTTP slika na IP hostu ostaje blokirana umjesto da bude tiho popravljena. Podjela, uključujući to izuzeće na nadogradivoj strani, dokumentirana je u Mozillinom vodiču o miješanom sadržaju. Chrome primjenjuje slično odbijanje na nesigurna preuzimanja pokrenuta sa sigurne stranice, zbog čega PDF poveznica može umrijeti dok okolna stranica izgleda netaknuto.
Sivi redak je dakle dokaz da kontrola radi, a ne dokaz da je tunel propustio čisti tekst. Tretirajte redak kao nalaz koji upućuje na jednu referencu, ne na cijelu stranicu.
Utvrdite kome pripada nesigurna referenca
Razvrstajte sporni URL prema tome gdje nastaje prije nego što bilo što promijenite. Taj odgovor odlučuje možete li danas isporučiti popravak, mora li ga dobavljač objaviti ili mora ovisnost napustiti stranicu. Pročitajte ga u stupcu Initiator u ploči Mreža, jer se oznaka na zaslonu često sastavlja tijekom izvođenja.
| Odakle URL dolazi | Tko ga može popraviti | Prvi korak |
|---|---|---|
| Tvrdo kodiran u predlošku ili dijelu koji objavljujete | Vi | Zamijenite ga oblikom https:// i zatim ispraznite predmemoriju |
| Ubačen od upravitelja oznaka ili dobavljačkog paketa | Dobavljač, s vašim zahtjevom | Pošaljite točan URL, vrstu zahtjeva i redak konzole |
| Poslužuje se samo na portu 80 bez TLS slušača | Vlasnik hosta | Zatražite TLS, stavite ispred nešto što kontrolirate ili ga napustite |
Kada host već odgovara na 443 i samo referenca kaže http, popravak je lokalni: promijenite referencu, ispraznite predmemoriju stranice i potvrdite da redak prelazi na https. Host koji sluša samo na portu 80 ne može se uređivanjem dovesti u sklad, pa se resurs premješta, ispred njega se stavlja nešto što kontrolirate ili nestaje. URL ubačen od upravitelja oznaka i dalje se pojavljuje čak i kada je vaš vlastiti predložak čist, a taj slučaj pripada zahtjevu s točnim URL-om i retkom konzole u privitku. Reći osoblju da dopusti nesiguran sadržaj nije nijedna od tih opcija, jer isključuje provjeru za svako web-mjesto koje taj profil preglednika posjeti.
Popravite referencu umjesto postavke preglednika
Ponovno učitajte tok koji ne uspijeva sa sačuvanim mrežnim zapisom i filtrirajte ploču prema hostu koji sumnjate. Konzola navodi URL i direktivu, što razrješava je li zahtjev odbijen ili nadograđen prije nego što dotaknete predložak.
curl -sSI https://cdn.example.org/vendor.js | head -n 1
curl -sS -o /dev/null -w '%{http_code} %{url_effective}\n' -L https://cdn.example.org/vendor.jsDvije popratne kontrole vrijedi znati i nijedna ne zamjenjuje popravak. Zaglavlje Content-Security-Policy s upgrade-insecure-requests navodi preglednik da prepiše URL-ove http podresursa prije nego što napuste stranicu, što hvata stare reference koje još niste pronašli. Prepisani zahtjev i dalje ne uspijeva kada ciljni host ne poslužuje HTTPS, pa zaglavlje mijenja samo koji URL preglednik pokušava. HSTS vrijedi po hostu, što znači da pravilo na vašoj vlastitoj domeni ne čini ništa za CDN treće strane koji nikada nije poslao zaglavlje. Nakon izmjene predloška ispraznite predmemoriju stranice i potražite staro ime hosta u iscrtanom HTML-u, jer isti URL može doći i kroz dio, prijevodni niz ili polje baze podataka.
Pratite i preusmjeravanja, jer lanac koji počinje na https:// može sletjeti na http:// lokaciju i preglednik prosuduje zadnji skok. Oblik -L druge naredbe gore ispisuje taj stvarni URL umjesto vas. Ako je zadnji skok čisti http, referenca je i dalje pogrešna, iako je poveznica koju ste uredili izgledala dobro.
Potvrdite stranicu konzolom i pločom mreže
Ponovno učitajte s onemogućenom predmemorijom i prođite tok još jednom, uključujući gumbe koji učitavaju sadržaj na zahtjev. Prvo učitavanje stranice skriva lijene widgete, pločice karte i skripte reproduktora koji se pojavljuju tek nakon klika. Konzola ne bi smjela sadržavati unose miješanog sadržaja i svaki redak koji ste dotakli trebao bi prikazivati https. Snimite konzolu i redak zahtjeva prije nego što zatvorite zahtjev, jer je to stanje nakon sljedećeg uvođenja teško rekonstruirati.
Kada resurs pripada nekome drugome, pošaljite četiri stvari: točan URL, vrstu zahtjeva, tekst konzole i stranicu na kojoj se pojavljuje. Sakrijte identifikatore sesije u svemu što zalijepite u zahtjev. Izvještaj koji samo kaže da su slike slomljene ne daje vlasniku ništa za pretraživanje.
Tunel nastavlja raditi svoj posao dok popravak leži u referenci koja je stvorila zahtjev. Nakon uvođenja još jednom potražite ime hosta u predlošku i dobavljačkom paketu i zatvorite slučaj tek kada u konzoli ne ostane nijedan blokirani unos miješanog sadržaja.