Mengapa sesetengah laman web gagal hanya apabila VPN dihidupkan?
Satu laman gagal sementara yang lain dimuatkan menyempitkan kerosakan dengan pantas. Baca ralat itu, uji penyelesaian nama, kemudian teliti saiz paket sebelum menyentuh klien.
Satu laman gagal sementara segala-galanya dimuatkan membuktikan terowong masih membawa trafik, dan itu menyempitkan masalah lebih jauh daripada jangkaan kebanyakan orang. Tiga pemerhatian menyusun selebihnya: sama ada anda menerima respons HTTP langsung, sama ada nama hos diselesaikan kepada alamat, dan sama ada permintaan kecil lulus manakala yang besar tersekat. Meneka tentang VPN sebelum mendapat jawapan itu biasanya memindahkan kerosakan, bukan menghapuskannya.
Proses pemerhatian itu mengikut urutan, kerana laman yang telah menjawab tidak mungkin gagal dalam penyelesaian pada masa yang sama. Jika tiada apa-apa dimuatkan langsung, anda berada di cabang yang salah, dan pemeriksaan untuk bersambung tetapi tanpa internet terpakai.
Biarkan mesej ralat memilih cabang
Penolakan, cabaran antibot atau halaman ralat bermakna perkhidmatan telah menjawab, jadi paket sampai ke sesuatu aplikasi dan kembali. Itu memindahkan soalan kepada dasar akses laman, yang boleh menimbang alamat keluar, akaun atau corak permintaan yang tidak diterbitkannya. Kegagalan penyelesaian nama tidak pernah sampai ke laman langsung, dan alamat ialah perkara pertama yang perlu diperiksa. Tamat masa terletak di antara keduanya: sesuatu dihantar dan tiada apa yang mengesahkannya.
Amaran sijil tergolong dalam cabang keempat. Ia bermaksud sambungan dijawab oleh sesuatu yang identitinya tidak dapat disahkan oleh pelayar, sama ada proksi di pihak anda atau ketidakpadanan sebenar yang tidak patut anda klik melaluinya. Anggapnya sebagai soal kepercayaan, bukan penghalaan.
Laman yang menjawab belum membuktikan terowong rosak
Apabila jawapannya halaman sekatan, bandingkan halaman yang sama melalui jalan keluar kedua sambil membiarkan pelayar dan mesin tidak berubah. Jika hasilnya mengikut alamat keluar, laman itu memperlakukan alamat tersebut secara berbeza, dan tiada konfigurasi klien akan mengubahnya. Jika sekatan mengikut pelayar anda, puncanya terletak pada sambungan, proksi tersimpan atau tetapan penyelesai. Dua larian memisahkan penjelasan itu dengan murah.
Kegagalan hanya dalam pelayar cukup biasa untuk diuji awal. Halaman yang dimuatkan dalam satu pelayar yang disokong dan gagal dalam pelayar lain menunjuk kepada keadaan profil, penyekat kandungan atau DNS disulitkan yang dikonfigurasi di dalam pelayar itu sendiri. Panduan Chrome tentang DNS selamat menunjukkan di mana tetapan itu, dan mengubahnya melalui kawalan yang disokong lebih baik daripada menetap semula peranti.
Apabila hanya pemindahan besar tersekat, lihat saiz paket
Halaman yang melukis kepalanya dan kemudian tersekat mempunyai tandatangan berbeza daripada halaman yang tidak pernah bermula. Respons kecil boleh lulus manakala muatan bersaiz penuh digugurkan di suatu tempat yang tidak boleh memberi isyarat kepada penghantar, dan begitulah rupa kegagalan MTU laluan dari pelayar. Bandingkan permintaan kecil dan permintaan besar ke hos yang sama sebelum berteori tentang penapisan. Penemuan MTU laluan sepatutnya mempelajari saiz pautan terkecil di sepanjang laluan, dan ia bergantung pada maklum balas ICMP yang rangkaian tertapis kerap membuang.
Uji hipotesis itu dengan sapuan saiz dan bukan satu ping. Kegagalan yang bermula pada saiz muatan yang konsisten ialah bukti kukuh, manakala kegagalan yang berpindah-randah bukan.
Sahkan pembetulan pada permintaan yang gagal
Uji semula operasi asal, bukan halaman utama, kerana cangkerang yang dicache boleh dilukis sementara panggilan API di sebalik log masuk masih gagal. Arahan di bawah memisahkan penyelesaian nama, permintaan kecil dan permintaan besar ke hos yang sama. Gantikan nama hos dan laluan dengan yang daripada permintaan yang benar-benar rosak.
dig +short www.example.com
curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' https://www.example.com/
curl -sS -o /dev/null -w '%{http_code} %{size_download}\n' https://www.example.com/assets/app.js
ping -M do -s 1400 -c 3 203.0.113.20
Jika jawapan dig berbeza daripada yang digunakan oleh pelayar, penyelesai ialah pemboleh ubahnya, dan tetapan DNS pelayar itu sendiri ialah tempat untuk dilihat. Jika permintaan kecil mengembalikan status manakala yang besar tersekat, kerjakan cabang saiz paket. Jika kedua-duanya tamat masa, laluan keluar dan layanan laman terhadap alamat itu kembali ke meja.
Kekalkan perubahan yang menjadikan permintaan asal berjaya dan batalkan yang lain. Longgokan perubahan serentak pada pelayar, penyelesai dan klien menyebabkan anda tidak dapat mengatakan yang mana yang penting.