cache_peer parentcache.foo.com parent 3128 0 no-query default never_direct allow all
Dengan config ini, jika parent cache gagal atau tidak merespon, maka semua request akan menampilkan pesan error.
Jika kita ingin membolehkan untuk menggunakan direct connection ketika parent proxy down kita bisa menggunakan pendekatan :
cache_peer parentcache.foo.com parent 3128 0 no-query
prefer_direct off
nonhierarchical_direct off
Perintah prefer_direct off memerintahkan Squid untuk mencoba request pertama ke parent.
2. Membelokkan request domain tertentu saja
cache_peer parentcache1.foo.com parent 3128 3130
cache_peer parentcache2.foo.net parent 3128 3130
cache_peer parentcache3.foo.com sibling 3128 3130
cache_peer parentcache4.foo.net sibling 3128 3130
cache_peer_domain parentcache1.foo.com .google.com .yahoo.com
cache_peer_domain parentcache2.foo.net .vimeo.com .youtube.com
cache_peer_domain parentcache3.foo.com .id .go.id .web.id .co.id
cache_peer_domain parentcache4.foo.net .uk .de .fr .no .se .it
Jika tidak menggunakan cache_peer bisa menggunakan directive :
acl INSIDE dstdomain .mydomain.com always_direct allow INSIDE never_direct allow all
Maka INSIDE akan selalu dibelokkan ke mydomain.com sedang yang lainnya direct.
Atau menggunakan IP internal dengan directive :
acl INSIDE_IP dst 192.168.0.1/24 always_direct allow INSIDE_IP never_direct allow all
Contoh lain dari always_direct access list.
Misal, Jika kita ingin squid agar connect secara direct ke hotmail.com server, kita bisa menggunakan perintah berikut di config file:
acl hotmail dstdomain .hotmail.com always_direct allow hotmail
3. Anonymizer
Jika kita memilih untuk menggunakan anonymizer kita harus memberi perintah opsi forwarded_for untuk mencegah client terungkapkan. Lupa untuk mematikan opsi forwarded_for akan mengurangi efektifitas dari anonymizer. Terakhir jika kita memfilter User-Agent header menggunakan opsi fake_user_agent dapat mencegah masalah beberapa user sebagaimana beberapa situs membutuhkan User-Agent header.
NB: Squid harus di built dengan konfigurasi --enable-http-violations sebelum di build.
- Squid 2.6 - 2.7
- Membolehkan penghapusan atau penggatian header tertentu melalui opsi http_header_access dan header_replace.
- Squid 3.0
- Membolehkan penghapusan atau penggantian selektif dari header spesifik di dalam request atau reply dengan request_header_access dan reply_header_access dan header_replace setting.
- Squid 3.1
- Menambah kemampuan 3.0 dengan pemotongan, penggantian, atau penghapusan header X-Forwarded-For-.
4. Squid Tanpa Cache
Kita bisa menggunakan squid sebagai proxy-only, tanpa membuat cache. Jadi tidak memberatkan dan mengurangi kapasitas harddisk.
Kita bisa menggunakan perintah cache access untuk membuat Squid tidak membuat cache setiap respon :
cache deny all
Pada Squid-2.7, Squid-3.1 dan sesudahnya kita juga dapat menghapus semua opsi 'cache_dir' dari squid.conf untuk mencegah pembuatan direktori cache.
Pada Squid-2.4, 2.5, 2.6, dan 3.0 kita perlu menggunakan "null" storage modul:
cache_dir null /tmp
Catatan: Perintah null cache_dir tidak mendisable caching, tapi tidak menyimpan atau membuat struktur cache. Directory (mis,/tmp) harus ada, jadi squid dapat chdir ke direktori tsb, Selain itu kita juga bisa menggunakan opsi coredump_dir .
Untuk konfigurasi Squid "null" storage modul, kita perlu meng-compile dengan command line:
--enable-storeio=null,...
5. Membatasi Besarnya File yang di Download
Kita bisa set secara global parameter reply_body_max_size. Opsi ini mengontrol besarnya HTTP message body yang akan dikirim ke cache client untuk satu request.
Jika batasan tercapai, maka secara otomatis koneksi ke klien akan terputus.
Catatan: user-agents "buatan" ini akan tetap bisa men-download file besar melalui cache menggunakan HTTP/1.1 range requests.
To Be Continue ...