VPN е поврзан, но мешаната содржина е блокирана и понатаму: што да се поправи
Подредете ја блокираната URL според тоа кој ја создал, поправете ја референцата или предадете ја на сопственикот на хостот, а потоа потврдете ја поправката во конзолата на прелистувачот.
Половината страница се исцртува, еден стилски лист стои сив во панелот Мрежа, а VPN клиентот известува за здрав тунел. Сите три набљудувања се точни истовремено, бидејќи прелистувачот оцени барање што го направи страницата, а тунелот немаше глас во таа оценка. Случајот го затвора одлука, а не поставка: поправете ја референцата, ескалирајте ја до оној што го поседува хостот или откажете се од зависноста. Секоја од тие опции има евтин тест, а изборот на погрешната чини еден циклус поддршка.
Зошто тунелот не може да покрие подресурс
Мешаната содржина започнува со HTTPS документ што бара подресурс преку обичен HTTP. Секоја URL се оценува според сопствената шема, затоа заштитата на родителскиот документ никогаш не се протега на детско барање. Шифрирањето додадено под прелистувачот менува што оди по жицата, а не http:// што го побара означувањето.
Современите прелистувачи ги делат овие барања во две групи и постапуваат различно. Скрипти, стилски листови, iframe и повици преку fetch, XMLHttpRequest или WebSocket се одбиваат веднаш, без претходен обид за надградба. Сликите, аудиото и видеото се препишуваат на https:// и се бараат повторно, а вчитувањето се прекинува кога тоа безбедно преземање не успее. URL на подресурс чиј хост е гола IP адреса е изземена од надградба, затоа HTTP слика на IP хост останува блокирана наместо тивко да се поправи. Поделбата, вклучително тоа изземање на надградливата страна, е документирана во водичот на Mozilla за мешана содржина. Chrome применува слично одбивање на небезбедни преземања започнати од безбедна страница, поради што врската до PDF може да умре додека околната страница изгледа недопрена.
Сивиот ред е затоа доказ дека контролата работи, не доказ дека тунелот пропуштил чист текст. Третирајте го редот како наод што упатува на една референца, а не на целата страница.
Определете кому му припаѓа небезбедната референца
Подредете ја проблематичната URL според местото каде што се создава пред да промените нешто. Тој одговор одлучува дали можете денес да испорачате поправка, дали добавувачот мора да објави една или зависноста мора да ја напушти страницата. Прочитајте ја во колоната Initiator во панелот Мрежа, зашто означувањето на екранот често се составува при извршување.
| Од каде доаѓа URL | Кој може да ја поправи | Прв чекор |
|---|---|---|
| Тврдо кодирана во шаблон или дел што го распоредувате | Вие | Заменете ја со формата https:// и потоа исчистете го кешот |
| Вметната од менаџер на тагови или пакет на добавувач | Добавувачот, со вашиот тикет | Испратете ја точната URL, типот на барање и редот од конзолата |
| Серирана само на порта 80 без TLS слушател | Сопственикот на хостот | Побарајте TLS, ставете нешто ваше пред неа или откажете се од неа |
Кога хостот веќе одговара на 443, а само референцата вели http, поправката е локална: сменете ја референцата, исчистете го кешот на страницата и потврдете дека редот станува https. Хост што слуша само на порта 80 не може да се доведе во согласност со уредување, затоа ресурсот се преместува, се поставува нешто што го контролирате пред него или исчезнува. URL вметната од менаџер на тагови продолжува да се појавува дури и кога вашиот сопствен шаблон е чист, а тој случај припаѓа на тикет со точната URL и редот од конзолата приложени. Да му кажете на персоналот да дозволи небезбедна содржина не е една од овие опции, зашто ја исклучува проверката за секој сајт што го посетува тој профил на прелистувач.
Поправете ја референцата наместо поставката на прелистувачот
Вчитајте го повторно потокот што не успева со зачуван мрежен дневник и филтрирајте го панелот според хостот што го сомневате. Конзолата ја наведува URL и директивата, што одлучува дали барањето е одбиено или надградено пред да допрете шаблон.
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.jsДве потпорни контроли вреди да се знаат и ниту една не ја заменува поправката. Заглавие Content-Security-Policy со upgrade-insecure-requests го наведува прелистувачот да ги препише URL на http подресурсите пред да ја напуштат страницата, што ги фаќа старите референци што допрва треба да ги најдете. Препишаното барање уште не успева кога целниот хост не сервира HTTPS, затоа заглавието менува само која URL ја пробува прелистувачот. HSTS важи по хост, што значи дека политика на вашиот сопствен домен не прави ништо за CDN на трета страна што никогаш не го испратил заглавието. По измена на шаблон исчистете го кешот на страницата и побарајте го старото име на хостот во исцртаниот HTML, зашто истата URL може да дојде и преку дел, преводен стринг или поле од база на податоци.
Следете ги и пренасочувањата, зашто синџир што започнува на https:// може да слета на локација http:// и прелистувачот го оценува последниот скок. Формата -L од втората команда погоре ви ја печати таа ефективна URL. Ако последниот скок е чист http, референцата уште е погрешна, иако врската што ја уредовте изгледаше добро.
Потврдете ја страницата со конзолата и панелот за мрежа
Вчитајте повторно со исклучен кеш и поминете го потокот уште еднаш, вклучително копчињата што вчитуваат содржина по барање. Првото вчитување на страницата крие мрзливи виџети, плочки од карта и скрипти на плеерот што се појавуваат само по клик. Конзолата не треба да содржи записи за мешана содржина и секој ред што сте го допреле треба да покажува https. Снимете ја конзолата и редот на барањето пред да го затворите тикетот, зашто таа состојба тешко се реконструира по следното распоредување.
Кога ресурсот припаѓа на некој друг, испратете четири работи: точната URL, типот на барање, текстот од конзолата и страницата каде што се појавува. Сокријте ги идентификаторите на сесијата во сите работи што ги вметнувате во тикет. Извештај што само вели дека сликите се скршени не му дава на сопственикот ништо за пребарување.
Тунелот продолжува да ја работи својата работа додека поправката лежи во референцата што го создала барањето. По распоредувањето побарајте го името на хостот уште еднаш во шаблонот и пакетот на добавувачот и затворете го случајот само кога во конзолата не остане ниту еден блокиран запис за мешана содржина.