---
title: "Squid Proxy Nedir? Ubuntu'da Kurulum ve squid.conf Ayarları"
description: "Squid, istekleri kendi IP adresiyle ileten açık kaynak bir forward proxy sunucusudur. Ubuntu'da kurulumu, erişim, şifre ve önbellek ayarlarını anlatıyoruz."
url: https://proxynet.io/tr/blog/squid-proxy-setup
date: 2026-09-24
author: "Acar Diveroli"
category: "Nasıl Yapılır, Proxy 101"
lang: tr
---

# Squid Proxy Nedir? Ubuntu'da Kurulum ve squid.conf Ayarları

Beş kişilik bir veri ekibi, test sunucularının paketleri tek bir yerden indirmesini ve bir tedarikçinin API'sine her seferinde aynı IP adresinden bağlanmasını istiyor. Ekipten biri küçük bir VPS'e (kiralık sanal sunucu) on dakikada Squid kuruyor. Bir hafta sonra `access.log` kimsenin tanımadığı adreslerle dolmuş: yapılandırma, `http_access allow all` satırıyla biten bir forum mesajından alınmış ve artık yabancılar kendi trafiklerini ekibin IP'si üzerinden dışarı çıkarıyor.

Bu rehberde Squid'i Ubuntu 24.04'e bu hataya düşmeden kuruyoruz. Önce Squid'in ne olduğunu, bir isteği hangi sırayla denetlediğini ve tek bir sunucunun size neyi verip neyi veremeyeceğini anlatıyoruz. Ardından IP whitelist, kullanıcı girişi, disk önbelleği ve başlık ayarlarını içeren eksiksiz bir yapılandırma dosyası, `cache_peer` ile bağlanan bir üst proxy ve kurulumu test eden komutlar geliyor.

> **Not: Kısa cevap**
>
> Squid açık kaynaklı bir forward proxy'dir: istemcilerinizin isteklerini hedef siteye kendi IP adresinden gönderir ve düz HTTP (şifrelenmemiş `http://` trafiği) yanıtlarını önbelleğe alabilir. Ubuntu 24.04'te `sudo apt install squid` ile kurulur, 3128 portunu dinler ve `/etc/squid/squid.conf` dosyasını okur. Kurulduğu hâliyle yalnız sunucunun kendisinden gelen istekleri kabul eder. Başka makinelerden kullanmak için bir IP whitelist ile kullanıcı adı ve şifre ekleyin, `http_access deny all` satırını da en sonda bırakın. Tek sunucu, tek konumda tek bir veri merkezi IP'si demektir; başka ülkelerden ya da çok sayıda adresten çıkması gereken işler için ticari bir proxy gerekir.

## Squid proxy nedir?

Squid, açık kaynaklı ve önbellekli bir proxy sunucusudur. Proxy sunucu, istekleri sizin adınıza gönderir ve yanıtları size geri iletir ([Proxy Sunucu Nedir ve Nasıl Çalışır?](/tr/blog/what-is-a-proxy-server)). Squid genellikle bir web sitesinin önünde duran reverse proxy olarak değil, bir ağdaki istemciler adına çalışan bir forward proxy olarak kullanılır ([Forward Proxy ve Reverse Proxy Arasındaki Fark](/tr/blog/forward-vs-reverse-proxy)). HTTP'yi, `CONNECT` tünelleri üzerinden HTTPS'i ve FTP'yi taşır; erişim kuralları, giriş yardımcıları (helper), bir önbellek ve bir istek logu sunar.

Squid projesinin güncel kararlı sürümü, 24 Ağustos 2026'da yayımlanan 7.7'dir ve geliştiriciler yalnız son kararlı sürümü destekler. Ubuntu 24.04 ise Squid 6.14 ile gelir: [noble-updates](https://packages.ubuntu.com/noble-updates/squid) deposundaki paket `6.14-0ubuntu0.24.04.4` sürümüdür ve güvenlik düzeltmeleri normal Ubuntu güncellemeleriyle gelir. Bu rehber o paketi kullanıyor.

## Squid bir isteği nasıl işler?

Yapılandırma hatalarının çoğu, bu adımların sırasından kaynaklanır.

1. **İstemci, `http_port` satırındaki porta bağlanır.** Ubuntu'nun yapılandırmasında bu port 3128'dir.
2. **Squid, `http_access` satırlarını yukarıdan aşağıya okur.** Koşullarının hepsi eşleşen ilk satır kararı verir. [http_access belgesi](https://www.squid-cache.org/Doc/config/http_access/), hiçbir satır eşleşmezse Squid'in son satırın tersini yaptığını da belirtir; bu yüzden her liste `http_access deny all` ile bitmelidir.
3. **Kural giriş gerektiriyorsa Squid kullanıcı adı ve şifre ister.** Squid, geçerli kimlik bilgisi olmadan bir `proxy_auth` koşuluna geldiğinde `407 Proxy Authentication Required` yanıtı verir ([Proxy Kimlik Doğrulama: User:Pass ve IP Whitelist](/tr/blog/proxy-authentication-methods)).
4. **Düz HTTP isteği önbellekte aranır.** Saklanmış taze bir kopya varsa istek önbellekten karşılanır (hit) ve sunucudan dışarı hiç çıkmaz; yoksa (miss) sayfa siteden getirilir.
5. **HTTPS bir tünele dönüşür.** `CONNECT example.com:443` başarılı olduktan sonra Squid yalnız şifreli baytları aktarır. [RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-connect) buna "verinin kör iletimi" (blind forwarding) der; bu yüzden Squid tünelin içindeki sayfayı ne önbelleğe alabilir ne de ona başlık ekleyebilir.
6. **`cache_peer` ve `never_direct` ile bir üst proxy tanımladıysanız istek ona devredilir.**
7. **Squid, `access.log` dosyasına tek bir satır yazar.** Satırda istemci, sonuç kodu, boyut, URL ve kullanıcı adı bulunur.

## Kendi Squid sunucunuz size ne sağlar, ne sağlamaz?

| Soru | Kendi Squid'iniz (tek VPS) | Ticari datacenter proxy | Residential ya da rotating havuz |
|---|---|---|---|
| Çıkış IP'si | VPS'in tek veri merkezi IP'si | Sağlayıcının veri merkezi IP'leri, gerekirse birkaç tane | Ev bağlantısı IP'leri, istek ya da oturum başına |
| Konum | Sunucunun çalıştığı şehir | Sağlayıcının ülkeleri arasından seçim | Bir ülke, bazen bir şehir |
| Bakım | Siz: güncellemeler, kurallar, şifreler, loglar | Sağlayıcı; siz kimlik bilgilerini yönetirsiniz | Sağlayıcı; siz kimlik bilgilerini yönetirsiniz |
| Önbellek ve erişim denetimi | HTTP önbelleği, kurallar, tek merkezi log | Önbellek yok; kullanıcılar panelde | Önbellek yok; kullanıcılar panelde |

Squid, kimin bağlanacağı, neyin önbelleğe alınacağı ve neyin loglanacağı üzerinde denetimi size bırakır. Size ikinci bir adres veremez: o tek veri merkezi IP'sinden dakikada yüzlerce istek gören bir site bu IP'yi yavaşlatır ya da engeller ([Residential ve Datacenter Proxy Farkları Nedir?](/tr/blog/residential-vs-datacenter-proxy)).

## Ubuntu 24.04'e Squid nasıl kurulur?

`apache2-utils` paketi, şifre dosyası için `htpasswd` aracını ekler. Özgün yapılandırmanın salt okunur bir kopyasını saklama adımı resmî [Ubuntu Server rehberinden](https://ubuntu.com/server/docs/how-to/web-services/install-a-squid-server/) geliyor.

```bash
sudo apt update
sudo apt install squid apache2-utils
squid -v | head -n 1                       # kurulu sürüm
systemctl status squid --no-pager          # "active (running)" yazmalı

sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original
sudo chmod a-w /etc/squid/squid.conf.original

# kendi kurallarınız nerede okunacak?
grep -n "include /etc/squid/conf.d" /etc/squid/squid.conf
grep -n "^http_access deny all" /etc/squid/squid.conf
```

Ayarlarınızı `/etc/squid/conf.d/` altında ayrı bir dosyaya yazın; böylece paket güncellemeleri onlara dokunmaz. Ubuntu'nun temel aldığı Debian paketi, `include /etc/squid/conf.d/*.conf` satırını `INSERT YOUR OWN RULE(S) HERE` yorumunun altına koyar: güvensiz portları engelleyen kurallardan sonra, `http_access allow localhost` ve `http_access deny all` satırlarından önce. `grep` çıktısındaki `include` satır numarası, `deny all` satırınınkinden küçük olmalıdır; değilse kendi satırlarınızı `squid.conf` içinde o yorumun altına yazın. Klasördeki `debian.conf` dosyası `logfile_rotate 0` ayarını içerir, çünkü logları logrotate döndürür.

## Dışa kapalı bir proxy için eksiksiz team.conf

Aşağıdaki içeriği `/etc/squid/conf.d/team.conf` olarak kaydedin. Belgelerde örnek olarak ayrılmış `203.0.113.0/24` ağını kendi ofis ağınızla ya da ekibinizin sabit IP'leriyle değiştirin.

```text
# /etc/squid/conf.d/team.conf
# squid.conf'taki http_access listesinin içinde, "http_access deny all" satırının üstünde okunur.
# Asla "http_access allow all" eklemeyin: bu, sunucuyu açık proxy'ye çevirir.

# 1. Hangi ağlar bağlanabilir
acl team_net src 203.0.113.0/24

# 2. /etc/squid/passwords dosyasından kullanıcı adı ve şifre.
#    auth_param satırlarını proxy_auth ACL'sinin üstünde tutun.
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic children 5 startup=5 idle=1
auth_param basic realm Team proxy
auth_param basic credentialsttl 2 hours
acl team_users proxy_auth REQUIRED

# 3. Yalnız İKİSİ birden eşleşirse izin ver: doğru ağ VE geçerli giriş.
#    Geri kalan her şey "http_access deny all" satırına düşer.
http_access allow team_net team_users

# 4. Düz HTTP isteklerinde istemci adreslerini iletme
forwarded_for delete
via off

# 5. Önbellek: bellek, saklanacak en büyük nesne, ardından disk önbelleği
cache_mem 512 MB
maximum_object_size 512 MB
cache_dir ufs /var/spool/squid 10000 16 256
```

Ardından kullanıcıları ekleyin, sözdizimini denetleyin, servisi bir kez yeniden başlatın ve portu yalnız bilinen adreslere açın:

```bash
sudo htpasswd -c /etc/squid/passwords team1   # -c dosyayı oluşturur: yalnız ilk kullanıcıda
sudo htpasswd /etc/squid/passwords team2      # sonraki kullanıcılar: -c olmadan
sudo chown root:proxy /etc/squid/passwords
sudo chmod 640 /etc/squid/passwords

sudo squid -k parse                           # varsa hataları ve uyarıları yazar
sudo systemctl restart squid                  # yeni cache_dir için bir kez
sudo tail -n 20 /var/log/squid/cache.log      # açılış iletileri

sudo ufw allow OpenSSH                        # SSH oturumunuz kopmasın
sudo ufw allow from 203.0.113.0/24 to any port 3128 proto tcp
sudo ufw enable
```

> **Uyarı: Açık proxy kurmayın**
>
> Tarama araçları internette her adresten bağlantı kabul eden proxy'leri arar. Sizinkinden geçen spam, saldırı ve scraping (sitelerden otomatik veri toplama) trafiğinin izi sizin IP'nize çıkar. Ağ ACL'sini, girişi ve en sondaki `deny all` satırını birlikte tutun, 3128'i de yalnız bilinen adreslere açın ([Ücretsiz Proxy ve Web Proxy Siteleri Güvenli mi?](/tr/blog/are-free-proxies-safe)).

## acl ve http_access kuralları nasıl yazılır?

Bir `acl` satırı bir koşula ad verir (ACL, access control list, yani erişim denetim listesi); bir `http_access` satırı bu adları birleştirip karar verir. Aynı satırdaki koşulların hepsi eşleşmelidir, yani `allow team_net team_users` "bizim ağımızdan geliyor ve giriş yapmış" anlamına gelir. Ayrı satırlar ise birbirinin alternatifidir: ikinci bir ofis için `acl office2 src 198.51.100.0/24` ve `http_access allow office2 team_users` satırlarını ekleyin.

Satırın yeri de içeriği kadar önemlidir. `http_access deny all` satırının altındaki bir `allow` satırına hiç sıra gelmez ve her istemci `403` alır. Include satırının üstündeki kurallara dokunmayın: `deny CONNECT !SSL_ports`, tünellerin yalnız 443 portuna gitmesine izin verir. RFC 9110, `CONNECT` isteklerinin bilinen portlarla sınırlanmasını önerir, çünkü her porta tünel açan bir proxy 25 numaralı porta spam aktarmak için kullanılabilir.

Portu değiştirmek için ikinci bir satır eklemek yerine `squid.conf` içindeki mevcut `http_port 3128` satırını düzenleyin ve güvenlik duvarını da güncelleyin. Yeni bir port hiçbir şeyi korumaz; korumayı ACL ve güvenlik duvarı sağlar. Port numaralarının ne anlama geldiğini [8080 ve 3128 portları](/tr/blog/port-8080) yazımızda anlattık.

## Kullanıcı adı ve şifre nasıl eklenir?

`htpasswd`, her kullanıcı için şifresi hash'lenmiş tek bir satır saklar. Varsayılan hash yöntemi MD5'tir ve Squid'in `basic_ncsa_auth` yardımcısı bu biçimi okur; Ubuntu'da yardımcı `/usr/lib/squid/basic_ncsa_auth` yolundadır. Yardımcı `proxy` kullanıcısıyla çalıştığı için dosya `proxy` grubuna verilir. `auth_param` satırları en fazla beş yardımcı başlatır, giriş penceresinde görünen metni belirler ve Squid'in doğru bir girişe, dosyayı yeniden denetlemeden iki saat güvenmesini sağlar.

Squid'in `auth_param` belgesine göre Squid, kimlik bilgisini ancak bir `http_access` kuralı bir `proxy_auth` ACL'sine geldiğinde ister. `auth_param` ayarlarını yapıp `team_users` adını `http_access` içinde kullanmazsanız Squid hiçbir zaman şifre sormaz.

Basic kimlik doğrulamada şifre, istemci ile Squid arasındaki her `Proxy-Authorization` başlığında Base64 ile kodlanmış olarak gider. Bu bir kodlamadır, şifreleme değildir: o yolu izleyen herkes şifreyi okuyabilir. IP whitelist bu yüzden şifreyle birlikte kalır. `407` yanıtının nasıl okunacağını [Proxy Kimlik Doğrulama: User:Pass ve IP Whitelist](/tr/blog/proxy-authentication-methods) yazısında anlattık.

## Önbellek nasıl ayarlanır, loglar nasıl okunur?

`cache_mem`, sık istenen nesneler için ayrılan belleği belirler (varsayılan 256 MB). `cache_dir ufs /var/spool/squid 10000 16 256` satırı, 16 birinci düzey ve 256 ikinci düzey klasöre dağılan en fazla 10.000 MB disk önbelleği ekler; Squid belgesi buraya diskin tamamının boyutunu yazmamanızı söyler. `maximum_object_size` varsayılan olarak 4 MB'dir ve daha büyük paket dosyalarını önbelleğin dışında bırakır, bu yüzden değeri yükseltin. Bu ayar her `cache_dir` için varsayılan boyut sınırını da belirlediğinden, yukarıdaki dosyada `cache_dir` satırından önce yazıldı.

`squid -z` önbellek klasörlerini oluşturur. Ubuntu'nun servis dosyası her başlatmadan önce `squid --foreground -z` komutunu çalıştırdığı için yeniden başlatma bu klasörleri de kurar. Sonraki kural ya da kullanıcı değişiklikleri için `sudo systemctl reload squid` yeterlidir; bu komut `squid -k reconfigure` ile aynı sinyali gönderir.

Önbellek yalnız düz HTTP'de işe yarar. Ubuntu'nun ayna sunucuları (mirror) genellikle `http://` adresleri kullanır ve apt paket imzalarını kendisi denetler. Bu yüzden apt'yi Squid'e yönlendiren CI (otomatik derleme ve test) makineleri her paketi yalnız bir kez indirir ([Linux Proxy Ayarları: Terminal, apt, Docker ve Git](/tr/blog/linux-proxy-settings)). HTTPS hiçbir zaman önbellekten karşılanmaz. HTTPS trafiğini önbellek için açmak (SSL bump) her istemcide Squid'in sertifikasını ve ayrı `squid-openssl` paketini gerektirir; bu rehberin kapsamı dışındadır.

`/var/log/squid/access.log` her istek için bir satır tutar, `cache.log` ise açılış iletilerini ve hataları içerir. İkisini de logrotate her gün döndürür ve iki eski kopya saklar. Ne olduğunu sonuç kodundan anlarsınız:

| Sonuç kodu | Anlamı |
|---|---|
| `TCP_MISS/200` | Siteden getirildi |
| `TCP_HIT/200`, `TCP_MEM_HIT/200` | Disk ya da bellek önbelleğinden verildi |
| `TCP_TUNNEL/200` | HTTPS tüneli; Squid yalnız sunucu adını ve portu gördü |
| `TCP_DENIED/407` | Giriş yok ya da hatalı |
| `TCP_DENIED/403` | `http_access` reddetti: yanlış ağ ya da yanlış kural sırası |

## Via ve X-Forwarded-For başlıkları nasıl kaldırılır?

Squid varsayılan olarak istemcinin IP'sini `X-Forwarded-For` başlığına (header) ekler (`forwarded_for on`) ve bir `Via` başlığı koyar (`via on`). `forwarded_for delete` başlığı tamamen kaldırır, `off` adres yerine `unknown` yazar, `via off` ise `Via` başlığını düşürür. İkisi de yalnız düz HTTP'de çalışır; tünelin içine Squid zaten bir şey eklemez. Sonucu bir yankı isteğiyle denetlemek için [Şeffaf, Anonim ve Elite Proxy Farkları Nedir?](/tr/blog/anonymous-proxy-levels) yazısına bakın.

## Ekip için tek çıkış: üst proxy ile cache_peer

Ticari bir proxy kullanan ekip, o proxy'nin şifresinin her dizüstü bilgisayarda ve her CI işinde durmasını istemeyebilir. Squid araya girebilir: ekip üyeleri Squid'e kendi hesaplarıyla giriş yapar, ticari hesabın kimlik bilgilerini yalnız sunucu bilir. `team.conf` dosyasına şunu ekleyin:

```text
# Her isteği üst proxy üzerinden gönder. İstemciler onun şifresini hiç görmez.
cache_peer pr.proxynet.io parent 8000 0 no-query default login=user:pass
never_direct allow all
```

[cache_peer belgesine](https://www.squid-cache.org/Doc/config/cache_peer/) göre alanlar sırasıyla şunlardır: sunucu adı, `parent` türü, proxy portu `8000` ve eş ICP (önbellekler arası sorgu protokolü) sorgularını yanıtlamadığı için ICP portu `0`. `no-query` bu sorguları kapatır, `default` bu eşi son çare olarak kullanılacak üst proxy yapar, `login=` ise üst proxy'nin kimlik bilgilerini gönderir; şifrede `%` karakteri varsa onu `%%` olarak yazın.

`never_direct allow all` olmadan Squid bazı istekleri doğrudan VPS'in kendi IP'sinden çekebilir. HTTPS'te Squid, `CONNECT` isteğini üst proxy'ye iletir. Bu durumda `access.log` içindeki hiyerarşi alanı, `HIER_DIRECT` yerine `DEFAULT_PARENT` gibi bir kodla üst proxy'yi gösterir.

Artık şifreyi değiştirmek için tek satırı düzenleyip reload etmek yeterlidir, her istek ekip üyesinin kullanıcı adıyla loglanır ve düz HTTP yine önbelleğe alınır. Üst proxy olarak bir [Rotating Proxy](https://proxynet.io/tr/rotating-proxy) kullanırsanız çıkış IP'sini sağlayıcı değiştirir, istemciler ise tek bir Squid adresiyle çalışmaya devam eder ([IP Rotasyonu Nedir ve Nasıl Çalışır?](/tr/blog/ip-rotation-explained)). Bu zincir kimlik bilgilerini yönetir, kim olduğunuzu gizlemez; sağlayıcının şartları ve her sitenin kuralları yine geçerlidir.

## İstemci nasıl bağlanır ve nasıl test edilir?

Aşağıdaki komutları izin verilen ağdaki bir makineden çalıştırın; `198.51.100.20` sizin sunucunuzun yerini tutuyor.

```bash
# 1. Girişsiz: Squid giriş ister
curl -x http://198.51.100.20:3128 https://httpbin.org/ip
# curl: (7) CONNECT tunnel failed, response 407

# 2. Girişle: yanıtta sizin değil, sunucunun IP'si görünür
curl -x http://team1:pass@198.51.100.20:3128 --retry 3 https://httpbin.org/ip

# 3. Sunucuda: son üç istek
sudo tail -n 3 /var/log/squid/access.log
```

Bu curl komutlarını curl 8.21 ve giriş isteyen yerel bir test proxy'siyle denedik: ilk komut yukarıdaki satırı yazdı, ikincisi proxy'nin çıkış adresini döndürdü. `--retry 3`, zaman aşımından ya da `429`, `503` gibi geçici bir HTTP kodundan sonra isteği yineler; `407` aldığında asla yinelemez. Ayrıntılar [cURL ile Proxy Nasıl Kullanılır?](/tr/blog/curl-proxy) ve [Proxy Çalışıyor mu? Proxy Nasıl Test Edilir?](/tr/blog/how-to-test-a-proxy) yazılarında.

## Kendi proxy sunucunuzu ne için kullanabilirsiniz?

- **Bir API için sabit çıkış IP'si:** Squid'den yalnız API trafiği geçer ([API için Statik IP](/tr/blog/static-ip-for-api-access)).
- **Ofiste web erişimi denetimi:** `dstdomain` ACL'leri ve `access.log` ile, çalışanlara önceden haber vererek ([Proxy ve Firewall (Güvenlik Duvarı) Farkı Nedir?](/tr/blog/proxy-vs-firewall)).
- **Ofis tarayıcı ayarları:** bir PAC dosyası her tarayıcıya Squid'i ne zaman kullanacağını söyler ([PAC Dosyası Nedir ve Nasıl Yazılır?](/tr/blog/pac-file)).
- **CI makineleri için paket önbelleği:** apt, düz HTTP üzerinden gelen her paketi bir kez indirir ([Linux Proxy Ayarları](/tr/blog/linux-proxy-settings)).
- **Ülkeler arası veri işleri için değil:** konuma göre fiyat takibi ve scraping çok sayıda adres ister ([veri kazıma çözümleri](/tr/data-scraping)).

## Sık yapılan hatalar

- **`http_access allow all`.** Açık bir proxy demektir ve IP'si kısa sürede kara listelere girer ([IP Kara Liste Nedir?](/tr/blog/ip-blacklist)).
- **`http_access` içinde `proxy_auth` kullanmadan `auth_param` yazmak.** Hiçbir zaman şifre sorulmaz.
- **`deny all` satırının altına `allow` yazmak.** O satıra hiç sıra gelmez; herkes `403` alır.
- **3128'i internete açık bırakmak.** Yalnız şifreyle korunan bir port, şifre tahmin denemelerine açıktır; basic auth da şifreyi korumasız, okunabilir biçimde gönderir.
- **HTTPS sayfalarının önbellekten gelmesini beklemek.** Tüneller hiçbir zaman önbelleğe alınmaz.
- **`squid -k parse` adımını atlamak.** Bir yazım hatası servisi durdurur; nedenini `journalctl -u squid` gösterir.
- **Paket önbelleğinde `maximum_object_size` değerini 4 MB'de bırakmak** ya da diskteki boş alandan büyük bir `cache_dir` tanımlamak.
- **VPS'in IP'sinden yoğun scraping yapmak.** Siteler önce `429` döner, sonra engeller ([Scraping'de HTTP Hata Kodları](/tr/blog/http-status-codes-web-scraping)).

## Karar rehberi

| İhtiyaç | Öneri |
|---|---|
| Ekip bir API'ye tek IP'den erişmeli | Sabit IP'li bir VPS'te IP whitelist ve girişle çalışan Squid ya da bir [Statik Proxy](https://proxynet.io/tr/static-proxy) |
| CI makineleri aynı paketleri tekrar tekrar indiriyor | `cache_dir` ve daha büyük bir `maximum_object_size` ile Squid; kazanç HTTP aynalarından gelir |
| Ofis, ziyaret edilen siteleri görmek ve sınırlamak istiyor | `dstdomain` ACL'leri ve `access.log`; önce çalışanları bilgilendirin |
| Ticari proxy şifresi tek sunucuda kalmalı | İstemciler için Squid, sağlayıcıya `cache_peer`, `never_direct allow all` |
| Başka ülkelerde IP'ler ya da çok sayıda IP gerekiyor | Kendi Squid'iniz değil: bir datacenter proxy ya da residential ve rotating havuz |
| HTTPS sayfalarının önbelleğe alınmasını istiyorsunuz | Varsayılan paketle olmaz; yalnız düz HTTP kaynaklarını önbelleğe alın |

## Sıkça sorulan sorular

### Squid hangi portu kullanır?

Ubuntu'nun yapılandırması `http_port 3128` satırını içerir, bu yüzden Squid kurulumdan sonra 3128'i dinler. Bu satırı ve güvenlik duvarı kuralını birlikte değiştirebilirsiniz, ama farklı bir port koruma sağlamaz; korumayı ağ ACL'si, giriş ve güvenlik duvarı sağlar. Yaygın proxy port numaralarının ne anlama geldiğini [8080 portu rehberimizde](/tr/blog/port-8080) anlattık.

### Squid HTTPS siteleri önbelleğe alabilir mi?

Varsayılan kurulumda alamaz. HTTPS isteği bir `CONNECT` tüneli olarak gelir ve Squid şifreli baytları sayfayı görmeden aktarır, yani saklanacak bir şey yoktur. Trafiği açan SSL bump, her istemci cihazında bir Squid sertifikası ve `squid-openssl` paketi gerektirir; bu rehberin kapsamı dışındadır.

### squid.conf değişiklikleri servisi durdurmadan nasıl uygulanır?

Önce `sudo squid -k parse` çalıştırın, böylece bir yazım hatası proxy'yi durduramaz. Ardından `sudo systemctl reload squid` çalıştırın; bu komut `squid -k reconfigure` ile aynı sinyali gönderir ve servis çalışmaya devam eder. Bir `cache_dir` ekledikten ya da taşıdıktan sonra ise servisin önbellek klasörlerini oluşturması için bir kez yeniden başlatın.

### Squid logları nerede tutulur ve nasıl okunur?

Ubuntu'da `/var/log/squid/` klasöründedir: `access.log` her istek için bir satır, `cache.log` ise açılış iletilerini ve hataları tutar. `access.log` içinde sonuç koduna bakın: `TCP_HIT` önbellekten, `TCP_MISS` siteden gelmiştir, `TCP_TUNNEL` HTTPS demektir; `407` ya da `403` ile birlikte görülen `TCP_DENIED` ise isteğin reddedildiğini gösterir.

### Squid ile Tinyproxy arasındaki fark nedir?

Tinyproxy kendi tanımında, tam bir proxy'nin ağır geleceği küçük sistemler için hafif bir HTTP ve HTTPS proxy servisidir; yapılandırma kılavuzunda önbellek ayarı yer almaz. Squid buna bellek ve disk önbelleği, ayrıntılı ACL'ler, birkaç giriş yardımcısı ve üst proxy zincirleri ekler. Küçük bir cihazda yalnız iletme gerekiyorsa Tinyproxy yeterli olabilir.

### Kendi Squid sunucum kimliğimi gizler mi?

Kısmen. Siteler ev bağlantınızın IP'si yerine VPS'in IP'sini görür, `forwarded_for delete` ile `via off` da düz HTTP'deki proxy başlıklarını kaldırır. Ama o IP bir veri merkezine aittir, sizin adınıza kiralanmıştır ve her zaman aynı yerden gelir. Squid bir anonimlik aracı değildir; erişim denetimi ve ortak bir çıkış noktası için kullanılır.

## Özet

Squid size kendi forward proxy'nizi verir: erişim denetimi, düz HTTP için bir önbellek ve her isteği kaydeden tek bir log. Güvenli bir kurulum üç şeyi doğru sırada tutar: bir ağ ACL'si, `http_access` içinde kullanılan bir `proxy_auth` girişi ve en sonda `http_access deny all`. Güvenlik duvarı da yalnız bilinen adreslere açık kalır. Sınır adres sayısındadır: tek sunucu, tek yerde tek bir veri merkezi IP'si demektir. Bir iş daha fazla adres ya da başka ülkeler gerektirdiğinde bu boşluğu bir [Datacenter Proxy](https://proxynet.io/tr/datacenter-proxy) ya da [Residential Proxy](https://proxynet.io/tr/residential-proxy) doldurur; seçenekleri [proxy hizmetlerimiz](/tr/proxy) sayfasında karşılaştırabilirsiniz.
