Mengisytiharkan induk dalam Squid tidak bermakna dengan sendirinya setiap permintaan yang dimajukan mesti menggunakannya. Jika laluan terus melanggar dasar anda, konfigurasi keperluan itu dengan jelas dan uji apabila induk tidak tersedia.

Untuk Squid 6.13, contoh ini menamakan satu induk dan melarang pemajuan terus ke asal bagi satu sumber klien:

cache_peer 192.0.2.20 parent 3128 0 no-query default name=upstream
acl routed_client src 198.51.100.27/32
never_direct allow routed_client

Kedua-dua alamat ialah pemegang tempat. Untuk ujian upstream terkawal yang membenarkan induk HTTP awam, pilih alamat daripada senarai proksi HTTP. Kekalkan dasar http_access berasingan yang hanya membenarkan klien dimaksudkan. Peraturan penghalaan tidak memberi klien kebenaran menggunakan proksi.

Periksa peraturan penghalaan sedia ada

no-query melumpuhkan pertanyaan ICP kepada peer ini. Sifar ialah port pertanyaan peer, bukan pendengar HTTP-nya. Pendengar menghadap klien dan peraturan aksesnya kekal berasingan.

Semak tetapan always_direct sedia ada serta pemilihan peer lain sebelum menambah blok. Menolak padanan dalam always_direct tidak mewajibkan induk dengan sendirinya. Peraturan never-direct yang jelas menyatakan keperluan itu bagi klien dipilih.

Ini mengawal transaksi yang memerlukan pemajuan. Entri cache setempat yang boleh digunakan boleh dilayan tanpa menghubungi induk, jadi tiada sambungan induk baharu bukan pelanggaran penghalaan secara automatik.

Periksa laluan dan kelakuan kegagalan

Gunakan destinasi terkawal dan periksa maklumat hierarki log akses bersama pemerhatian destinasi. Status HTTP akhir sahaja tidak memberitahu sama ada Squid menggunakan induk atau laluan terus.

Dalam ujian penyelenggaraan, jadikan induk tidak tersedia dan ulang permintaan tanpa cache yang sama. Jika dasar melarang pemajuan terus, transaksi sepatutnya gagal, bukan mencapai asal melalui laluan lain. Lakukan ini hanya pada perkhidmatan yang anda kawal dan pulihkan konfigurasi yang dimaksudkan selepasnya.

Artikel berkaitan