Səhifənin yarısı göstərilir, bir üslub faylı Şəbəkə panelində boz qalır və VPN müştərisi hələ də sağlam tunel bildirir. Hər üç müşahidə eyni vaxtda doğrudur, çünki brauzer səhifənin etdiyi sorğunu qiymətləndirdi və tunelin bu qiymətləndirmədə səsi yox idi. İşi bağlayan şey ayar deyil, qərardır: istinadı düzəltmək, onu host sahibinə eskalasiya etmək və ya asılılıqdan imtina etmək. Bu variantlardan hər birinin ucuz testi var və səhv olanı seçmək bir dəstək dövrünə başa gəlir.

Niyə tunel alt resursu əhatə edə bilmir

Qarışıq məzmun sadə HTTP üzərindən alt resurs istəyən HTTPS sənədi ilə başlayır. Hər URL öz sxeminə görə qiymətləndirilir, buna görə valideyn sənədin qorunması heç vaxt uşaq sorğusuna yayılmır. Brauzerin altında əlavə edilən şifrələmə naqil üzərindən gedən şeyi dəyişir, işarələmənin istədiyi http:// ünvanını deyil.

Müasir brauzerlər bu sorğuları iki qrupa bölür və onlara fərqli yanaşır. Skriptlər, üslub faylları, iframe-lər və fetch, XMLHttpRequest və ya WebSocket ilə edilən çağırışlar əvvəlcədən yüksəltmə cəhdi olmadan dərhal rədd edilir. Şəkillər, audio və video https:// formasına yenidən yazılır və yenidən istənilir, və həmin təhlükəsiz əldə etmə uğursuz olduqda yükləmə dayandırılır. Hostu çılpaq IP ünvanı olan alt resurs URL-si yüksəltmədən azaddır, buna görə IP hostundakı HTTP şəkli səssizcə düzəldilmək əvəzinə bloklanmış qalır. Bu bölgü, o cümlədən yüksəldilə bilən tərəfdəki həmin istisna, Mozillanın qarışıq məzmun təlimatında sənədləşdirilib. Chrome təhlükəsiz səhifədən başladılan təhlükəsiz olmayan yükləmələrə bənzər rədd tətbiq edir, buna görə ətrafdakı səhifə salamat görünərkən PDF keçidi ölə bilər.

Boz sətir buna görə nəzarətin işlədiyinin sübutudur, tunelin açıq mətn sızdırdığının sübutu deyil. Sətri bütün səhifəyə deyil, tək bir istinada işarə edən tapıntı kimi qəbul edin.

Təhlükəsiz olmayan istinadın kimə aid olduğunu müəyyənləşdirin

Problemli URL-i hər hansı bir şeyi dəyişməzdən əvvəl yarandığı yerə görə sıralayın. Bu cavab bu gün düzəliş buraxa biləcəyinizi, təchizatçının birini buraxmalı olduğunu və ya asılılığın səhifəni tərk etməli olduğunu həll edir. Onu Şəbəkə panelindəki Initiator sütunundan oxuyun, çünki ekrandakı işarələmə çox vaxt icra zamanı yığılır.

URL haradan gəlirKim düzəldə bilərİlk addım
Yerləşdirdiyiniz şablonda və ya hissədə sərt kodlanmışSizOnu https:// forması ilə əvəz edin və sonra keşi təmizləyin
Teq meneceri və ya təchizatçı paketi tərəfindən yeridilibTəchizatçı, sizin bileti iləDəqiq URL-i, sorğu növünü və konsol sətrini göndərin
Yalnız 80 portunda TLS dinləyicisi olmadan xidmət edilirHost sahibiTLS istəyin, qarşısına özünüz nəzarət etdiyiniz bir şey qoyun və ya ondan imtina edin

Host artıq 443 portunda cavab verirsə və yalnız istinad http deyirsə, düzəliş yerlidir: istinadı dəyişin, səhifə keşini təmizləyin və sətrin https olduğunu təsdiqləyin. Yalnız 80 portunda dinləyən hostu redaktə ilə uyğunlaşdırmaq mümkün deyil, buna görə resurs köçür, qarşısına nəzarət etdiyiniz bir şey qoyulur və ya yox olur. Teq meneceri tərəfindən yeridilən URL öz şablonunuz təmiz olsa belə görünməyə davam edir və bu hal dəqiq URL və konsol sətri əlavə edilmiş bilete aiddir. Heyətə təhlükəsiz olmayan məzmuna icazə vermələrini söyləmək bu variantlardan biri deyil, çünki bu, həmin brauzer profilinin ziyarət etdiyi hər sayt üçün yoxlamanı söndürür.

Brauzer ayarını deyil, istinadı düzəldin

Uğursuz axını şəbəkə jurnalı saxlanmış halda yenidən yükləyin və paneli şübhələndiyiniz hosta görə süzün. Konsol URL-i və direktivi adlandırır, bu da şablona toxunmadan əvvəl sorğunun rədd edildiyini və ya yüksəldildiyini həll edir.

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

İki köməkçi nəzarəti bilməyə dəyər və heç biri düzəlişi əvəz etmir. Content-Security-Policy başlığı upgrade-insecure-requests brauzerin http alt resurs URL-lərini səhifəni tərk etməzdən əvvəl yenidən yazmasına səbəb olur, bu da hələ tapmadığınız köhnə istinadları tutur. Yenidən yazılmış sorğu hədəf host HTTPS xidməti göstərmirsə yenə uğursuz olur, buna görə başlıq yalnız brauzerin hansı URL-i sınadığını dəyişir. HSTS host üzrə işləyir, yəni öz domeninizdəki siyasət başlığı heç vaxt göndərməmiş üçüncü tərəf CDN-i üçün heç nə etmir. Şablon dəyişikliyindən sonra səhifə keşini təmizləyin və göstərilən HTML-də köhnə host adını axtarın, çünki eyni URL hissə, tərcümə sətri və ya verilənlər bazası sahəsi vasitəsilə də gələ bilər.

Yönləndirmələri də izləyin, çünki https:// ilə başlayan zəncir http:// yerinə düşə bilər və brauzer son atlamanı qiymətləndirir. İkinci əmrin -L forması həmin effektiv URL-i sizin üçün çap edir. Son atlama təmiz http-dirsə, redaktə etdiyiniz keçid yaxşı görünsə də istinad hələ də yanlışdır.

Səhifəni konsol və şəbəkə paneli ilə təsdiqləyin

Keş söndürülmüş halda yenidən yükləyin və axını yenidən keçin, tələb üzrə məzmun yükləyən düymələr daxil olmaqla. İlk səhifə yükləməsi tənbəl vidcetləri, xəritə plitələrini və yalnız klikdən sonra görünən pleyer skriptlərini gizlədir. Konsolda qarışıq məzmun qeydi olmamalıdır və toxunduğunuz hər sətir https göstərməlidir. Bileti bağlamazdan əvvəl konsolu və sorğu sətrini çəkin, çünki bu vəziyyəti növbəti yerləşdirmədən sonra bərpa etmək çətindir.

Resurs başqasına aiddirsə, dörd şey göndərin: dəqiq URL, sorğu növü, konsol mətni və göründüyü səhifə. Biletə yapışdırdığınız hər şeydə sessiya identifikatorlarını gizlədin. Yalnız şəkillərin pozulduğunu deyən hesabat sahibinə axtaracaq heç nə vermir.

Düzəliş sorğunu yaradan istinadda olduğu halda tunel öz işini davam etdirir. Yerləşdirmədən sonra host adını şablonda və təchizatçı paketində bir daha axtarın və işi yalnız konsolda bloklanmış qarışıq məzmun qeydi qalmadıqda bağlayın.

Əlaqəli məqalələr