---
title: "Squid-Proxy unter Ubuntu 24.04: Setup, Auth und squid.conf"
description: "Squid ist ein Open-Source-Forward-Proxy, der Anfragen über seine IP sendet. Installation unter Ubuntu 24.04, Schutz mit ACLs und Basic Auth, Cache-Tuning."
url: https://proxynet.io/de/blog/squid-proxy-setup
date: 2026-09-24
author: "Acar Diveroli"
category: "Anleitungen, Proxy 101"
lang: de
---

# Squid-Proxy unter Ubuntu 24.04: Setup, Auth und squid.conf

Ein Datenteam aus fünf Personen möchte, dass seine Testserver Pakete von einer Stelle herunterladen und die API eines Lieferanten jedes Mal von derselben IP-Adresse aus erreichen. Jemand installiert Squid in zehn Minuten auf einem kleinen VPS. Eine Woche später ist `access.log` voller Adressen, die niemand kennt: Die Konfiguration stammte aus einem Forenbeitrag, der mit `http_access allow all` endete, und jetzt schicken Fremde ihren Verkehr über die IP des Teams ins Netz.

Diese Anleitung installiert Squid unter Ubuntu 24.04 ohne diesen Fehler. Sie erklärt, was Squid ist, in welcher Reihenfolge es eine Anfrage prüft und was ein einzelner Server leisten kann und was nicht. Danach folgen eine vollständige Konfigurationsdatei mit IP-Allowlist, Anmeldung, Festplatten-Cache und Header-Einstellungen, ein übergeordneter Proxy mit `cache_peer` und die Befehle, mit denen Sie das Ganze testen.

> **Hinweis: Kurzantwort**
>
> Squid ist ein Open-Source-Forward-Proxy: Er schickt die Anfragen Ihrer Clients von seiner eigenen IP-Adresse aus an die Zielseite und kann unverschlüsselte HTTP-Antworten zwischenspeichern. Unter Ubuntu 24.04 installieren Sie ihn mit `sudo apt install squid`; er lauscht auf Port 3128 und liest `/etc/squid/squid.conf`. Im Auslieferungszustand nimmt er nur Anfragen vom Server selbst an. Damit andere Rechner ihn nutzen können, ergänzen Sie eine Liste erlaubter IP-Adressen sowie Benutzername und Passwort und lassen `http_access deny all` als letzte Regel stehen. Ein Server ist eine Datacenter-IP an einem Standort; Aufgaben, die andere Länder oder viele Adressen brauchen, erfordern einen kommerziellen Proxy.

## Was ist ein Squid-Proxy?

Squid ist ein Open-Source-Proxy-Server mit Cache. Ein Proxy-Server sendet Anfragen in Ihrem Auftrag und reicht die Antworten zurück ([Was ist ein Proxy-Server?](/de/blog/what-is-a-proxy-server)). Squid läuft meist als Forward-Proxy, der für die Clients hinter ihm arbeitet, nicht als Reverse-Proxy vor einer Website ([Forward-Proxy und Reverse-Proxy](/de/blog/forward-vs-reverse-proxy)). Er überträgt HTTP, HTTPS über `CONNECT`-Tunnel und FTP und bringt Zugriffsregeln, Helper-Programme für die Anmeldung, einen Cache und ein Anfrageprotokoll mit.

Die aktuelle stabile Version des Squid-Projekts ist 7.7, veröffentlicht am 24. August 2026, und die Entwickler unterstützen nur die jeweils neueste stabile Version. Ubuntu 24.04 liefert Squid 6.14 aus, als Paket `6.14-0ubuntu0.24.04.4` in [noble-updates](https://packages.ubuntu.com/noble-updates/squid), und die Sicherheitskorrekturen kommen über die normalen Ubuntu-Updates. Diese Anleitung arbeitet mit diesem Paket.

## Wie verarbeitet Squid eine Anfrage?

Die Reihenfolge dieser Schritte erklärt die meisten Konfigurationsfehler.

1. **Der Client verbindet sich** mit dem Port aus `http_port`, in der Konfiguration von Ubuntu 3128.
2. **Squid liest die `http_access`-Zeilen von oben nach unten.** Die erste Zeile, deren Bedingungen alle zutreffen, entscheidet. Die [Dokumentation zu http_access](https://www.squid-cache.org/Doc/config/http_access/) ergänzt: Passt keine Zeile, tut Squid das Gegenteil der letzten Zeile. Deshalb sollte jede Liste mit `http_access deny all` enden.
3. **Eine Regel, die eine Anmeldung verlangt, fragt danach.** Erreicht Squid eine `proxy_auth`-Bedingung ohne gültige Zugangsdaten, antwortet er mit `407 Proxy Authentication Required` ([Proxy-Authentifizierung](/de/blog/proxy-authentication-methods)).
4. **Unverschlüsseltes HTTP wird im Cache gesucht.** Eine frische gespeicherte Kopie ist ein Hit, und die Anfrage verlässt den Server nicht; alles andere ist ein Miss und wird von der Website geholt.
5. **HTTPS wird zum Tunnel.** Nach einem erfolgreichen `CONNECT example.com:443` leitet Squid nur noch verschlüsselte Bytes weiter. [RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-connect) nennt das „blind forwarding of data“, also blindes Weiterleiten von Daten. Squid kann die Seite deshalb weder zwischenspeichern noch innerhalb des Tunnels Header hinzufügen.
6. **Ein übergeordneter Proxy übernimmt, wenn Sie einen festlegen,** mit `cache_peer` und `never_direct`.
7. **Squid schreibt eine Zeile in `access.log`** mit Client, Ergebniscode, Größe, URL und Benutzername.

## Was bietet Ihnen ein eigener Squid-Server und was nicht?

| Frage | Eigener Squid (ein VPS) | Kommerzieller Datacenter-Proxy | Residential- oder rotierender Pool |
|---|---|---|---|
| Ausgangs-IP | Die einzige Datacenter-IP des VPS | Die Datacenter-IPs des Anbieters, bei Bedarf mehrere | IPs von Heimanschlüssen, pro Anfrage oder Sitzung |
| Standort | Die Stadt, in der der Server läuft | Eine Auswahl an Ländern des Anbieters | Ein Land, manchmal eine Stadt |
| Wartung | Sie: Updates, Regeln, Passwörter, Logs | Der Anbieter; Sie verwalten die Zugangsdaten | Der Anbieter; Sie verwalten die Zugangsdaten |
| Cache und Zugriffskontrolle | HTTP-Cache, Regeln, ein zentrales Log | Kein Cache; Benutzer im Dashboard | Kein Cache; Benutzer im Dashboard |

Squid gibt Ihnen die Kontrolle darüber, wer sich verbindet, was zwischengespeichert und was protokolliert wird. Eine zweite Adresse kann er Ihnen nicht geben: Eine Website, die Hunderte Anfragen pro Minute von dieser einen Datacenter-IP sieht, bremst sie aus oder sperrt sie ([Residential- und Datacenter-Proxy im Vergleich](/de/blog/residential-vs-datacenter-proxy)).

## Wie installieren Sie Squid unter Ubuntu 24.04?

`apache2-utils` bringt `htpasswd` für die Passwortdatei mit. Die schreibgeschützte Kopie der Originalkonfiguration empfiehlt auch der offizielle [Leitfaden für Ubuntu Server](https://ubuntu.com/server/docs/how-to/web-services/install-a-squid-server/).

```bash
sudo apt update
sudo apt install squid apache2-utils
squid -v | head -n 1                       # die installierte Version
systemctl status squid --no-pager          # sollte "active (running)" melden

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

# an welcher Stelle werden Ihre eigenen Regeln gelesen?
grep -n "include /etc/squid/conf.d" /etc/squid/squid.conf
grep -n "^http_access deny all" /etc/squid/squid.conf
```

Legen Sie Ihre Einstellungen in einer Datei unter `/etc/squid/conf.d/` ab, damit Paket-Upgrades sie nicht anfassen. Die Debian-Paketierung, auf der Ubuntu aufbaut, setzt `include /etc/squid/conf.d/*.conf` unter den Kommentar `INSERT YOUR OWN RULE(S) HERE`: nach den Regeln, die unsichere Ports sperren, und vor der abschließenden Zeile `http_access deny all`. Die Zeilennummer der `include`-Zeile aus `grep` muss kleiner sein als die von `deny all`; ist sie es nicht, schreiben Sie Ihre Zeilen an diesem Kommentar direkt in `squid.conf`. Die Datei `debian.conf` im selben Ordner setzt `logfile_rotate 0`, weil logrotate die Logs übernimmt.

## Eine vollständige team.conf für einen abgesicherten Proxy

Speichern Sie Folgendes als `/etc/squid/conf.d/team.conf`. Ersetzen Sie das Dokumentationsnetz `203.0.113.0/24` durch Ihr Büronetz oder die festen IPs Ihres Teams.

```text
# /etc/squid/conf.d/team.conf
# Wird innerhalb der http_access-Liste von squid.conf gelesen, oberhalb von "http_access deny all".
# Niemals "http_access allow all" ergaenzen: Das macht diesen Server zum offenen Proxy.

# 1. Welche Netze sich verbinden duerfen
acl team_net src 203.0.113.0/24

# 2. Benutzername und Passwort aus /etc/squid/passwords.
#    Die auth_param-Zeilen oberhalb der proxy_auth-ACL lassen.
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. Nur erlauben, wenn BEIDES passt: das richtige Netz UND eine gueltige Anmeldung.
#    Alles andere faellt durch bis zu "http_access deny all".
http_access allow team_net team_users

# 4. Client-Adressen in unverschluesselten HTTP-Anfragen nicht weitergeben
forwarded_for delete
via off

# 5. Cache: Arbeitsspeicher, groesstes zu speicherndes Objekt, dann der Festplatten-Cache
cache_mem 512 MB
maximum_object_size 512 MB
cache_dir ufs /var/spool/squid 10000 16 256
```

Danach legen Sie Benutzer an, prüfen die Syntax, starten einmal neu und öffnen den Port nur für bekannte Adressen:

```bash
sudo htpasswd -c /etc/squid/passwords team1   # -c legt die Datei an: nur beim ersten Benutzer
sudo htpasswd /etc/squid/passwords team2      # weitere Benutzer: ohne -c
sudo chown root:proxy /etc/squid/passwords
sudo chmod 640 /etc/squid/passwords

sudo squid -k parse                           # zeigt Fehler und Warnungen, falls vorhanden
sudo systemctl restart squid                  # einmal, wegen des neuen cache_dir
sudo tail -n 20 /var/log/squid/cache.log      # Startmeldungen

sudo ufw allow OpenSSH                        # damit Ihre SSH-Sitzung erreichbar bleibt
sudo ufw allow from 203.0.113.0/24 to any port 3128 proto tcp
sudo ufw enable
```

> **Achtung: Bauen Sie keinen offenen Proxy**
>
> Scanner durchsuchen das Internet nach Proxys, die jede Adresse annehmen, und Spam, Angriffe und Scraping, die über Ihren Proxy laufen, werden auf Ihre IP zurückgeführt. Halten Sie Netzwerk-ACL, Anmeldung und das abschließende `deny all` zusammen und öffnen Sie 3128 nur für bekannte Adressen ([Sind kostenlose Proxys sicher?](/de/blog/are-free-proxies-safe)).

## Wie schreiben Sie die Regeln für acl und http_access?

Eine `acl`-Zeile gibt einer Bedingung einen Namen; eine `http_access`-Zeile verbindet Namen zu einer Entscheidung. Die Bedingungen in einer Zeile müssen alle zutreffen, `allow team_net team_users` bedeutet also „aus unserem Netz und angemeldet“. Getrennte Zeilen sind Alternativen: Für ein zweites Büro ergänzen Sie `acl office2 src 198.51.100.0/24` und `http_access allow office2 team_users`.

Die Position zählt so viel wie der Inhalt. Ein `allow` unterhalb von `http_access deny all` wird nie erreicht, und jeder Client bekommt `403`. Lassen Sie die Regeln oberhalb des `include` unverändert: `deny CONNECT !SSL_ports` lässt Tunnel nur zu Port 443 zu. RFC 9110 rät, `CONNECT` auf bekannte Ports zu beschränken, weil ein Proxy, der zu jedem beliebigen Port tunnelt, zum Weiterleiten von Spam an Port 25 missbraucht werden kann.

Um den Port zu ändern, bearbeiten Sie die vorhandene Zeile `http_port 3128` in `squid.conf`, statt eine zweite hinzuzufügen, und passen die Firewall an. Ein neuer Port schützt nichts; das tun die ACL und die Firewall. Was 3128 und 8080 bedeuten, steht in [Port 8080 und andere Proxy-Ports](/de/blog/port-8080).

## Wie richten Sie Benutzername und Passwort ein?

`htpasswd` speichert pro Benutzer eine Zeile mit gehashtem Passwort. Sein Standard-Hash ist MD5, den der Squid-Helper `basic_ncsa_auth` lesen kann; unter Ubuntu liegt der Helper unter `/usr/lib/squid/basic_ncsa_auth`. Er läuft als Benutzer `proxy`, daher die Gruppe `proxy` der Datei. Die `auth_param`-Zeilen starten bis zu fünf Helper, legen den Text der Anmeldeaufforderung fest und lassen Squid einer korrekten Anmeldung zwei Stunden lang vertrauen, bevor er die Datei erneut prüft.

Laut der `auth_param`-Dokumentation von Squid wird ein Client nur dann nach Zugangsdaten gefragt, wenn eine `http_access`-Regel eine `proxy_auth`-ACL auswertet. Konfigurieren Sie `auth_param`, ohne `team_users` in `http_access` zu verwenden, fragt Squid nie nach einem Passwort.

Basic-Authentifizierung sendet das Passwort Base64-kodiert, nicht verschlüsselt, in jedem `Proxy-Authorization`-Header zwischen Client und Squid. Wer diese Strecke mitliest, kann es lesen; deshalb bleibt die Allowlist neben dem Passwort bestehen. Wie Sie eine `407` lesen, erklärt [Proxy-Authentifizierung: User:Pass oder IP-Whitelist](/de/blog/proxy-authentication-methods).

## Wie richten Sie den Cache ein und lesen die Logs?

`cache_mem` legt den Arbeitsspeicher für häufig abgerufene Objekte fest (Standard 256 MB). `cache_dir ufs /var/spool/squid 10000 16 256` fügt bis zu 10.000 MB Festplatten-Cache in 16 Ordnern der ersten und 256 Ordnern der zweiten Ebene hinzu; die Squid-Dokumentation warnt davor, die gesamte Festplattengröße einzutragen. `maximum_object_size` steht standardmäßig auf 4 MB, womit größere Paketdateien nicht gespeichert werden, also erhöhen Sie den Wert. Er legt die Standard-Größengrenze für jedes `cache_dir` fest; deshalb steht er in der Datei oben vor `cache_dir`.

`squid -z` legt die Cache-Ordner an, und die Service-Datei von Ubuntu führt vor jedem Start `squid --foreground -z` aus, sodass der Neustart sie erzeugt. Für spätere Änderungen an Regeln oder Benutzern sendet `sudo systemctl reload squid` dasselbe Signal wie `squid -k reconfigure`.

Der Cache hilft nur bei unverschlüsseltem HTTP. Die Spiegelserver von Ubuntu nutzen meist `http://`-Adressen, und apt prüft die Paketsignaturen; CI-Rechner, deren apt auf Squid zeigt, laden deshalb jedes Paket nur einmal aus dem Internet ([Linux-Proxy-Einstellungen](/de/blog/linux-proxy-settings)). HTTPS erzeugt nie einen Hit. Den Verkehr für den Cache aufzubrechen (SSL Bump) erfordert das Squid-Zertifikat auf jedem Client und das separate Paket `squid-openssl` und liegt außerhalb dieser Anleitung.

`/var/log/squid/access.log` enthält eine Zeile pro Anfrage, `cache.log` Startmeldungen und Fehler; logrotate rotiert beide täglich und behält zwei alte Kopien. Der Ergebniscode zeigt, was passiert ist:

| Ergebniscode | Bedeutung |
|---|---|
| `TCP_MISS/200` | Von der Website geholt |
| `TCP_HIT/200`, `TCP_MEM_HIT/200` | Aus dem Festplatten- oder Arbeitsspeicher-Cache geliefert |
| `TCP_TUNNEL/200` | HTTPS-Tunnel; Squid sah nur Host und Port |
| `TCP_DENIED/407` | Keine oder falsche Anmeldung |
| `TCP_DENIED/403` | Von `http_access` abgelehnt: falsches Netz oder falsche Regelreihenfolge |

## Wie entfernen Sie die Header Via und X-Forwarded-For?

Standardmäßig hängt Squid die IP des Clients an `X-Forwarded-For` an (`forwarded_for on`) und fügt einen `Via`-Header hinzu (`via on`). `forwarded_for delete` entfernt den Header, `off` schreibt `unknown` statt der Adresse, und `via off` lässt `Via` weg. Beides wirkt nur bei unverschlüsseltem HTTP; in einem Tunnel fügt Squid ohnehin nichts hinzu. Wie Sie das Ergebnis mit einer Echo-Anfrage prüfen, zeigt [Transparenter, anonymer und Elite-Proxy](/de/blog/anonymous-proxy-levels).

## Ein Ausgang für das Team: cache_peer mit einem übergeordneten Proxy

Ein Team, das einen kommerziellen Proxy nutzt, möchte dessen Passwort vielleicht nicht auf jedem Laptop und in jedem CI-Job hinterlegen. Squid kann dazwischengeschaltet werden: Die Mitglieder melden sich mit eigenen Konten bei Squid an, und nur der Server kennt die kommerziellen Zugangsdaten. Ergänzen Sie in `team.conf`:

```text
# Jede Anfrage ueber den uebergeordneten Proxy senden. Clients sehen dessen Passwort nie.
cache_peer pr.proxynet.io parent 8000 0 no-query default login=user:pass
never_direct allow all
```

Nach der [Dokumentation zu cache_peer](https://www.squid-cache.org/Doc/config/cache_peer/): Host, Typ `parent`, Proxy-Port `8000` und ICP-Port `0`, weil der Peer keine ICP-Abfragen beantwortet. `no-query` schaltet diese Abfragen ab, `default` macht ihn zum übergeordneten Proxy der letzten Wahl, und `login=` sendet die Zugangsdaten für den übergeordneten Proxy; ein `%` im Passwort schreiben Sie als `%%`.

Ohne `never_direct allow all` holt Squid manche Anfragen womöglich direkt über die eigene IP des VPS. Bei HTTPS reicht Squid das `CONNECT` an den übergeordneten Proxy weiter. In `access.log` nennt das Hierarchiefeld dann den übergeordneten Proxy mit einem Code wie `DEFAULT_PARENT` statt `HIER_DIRECT`.

Eine Passwortänderung ist jetzt eine Zeile und ein Reload, jede Anfrage wird mit dem Benutzernamen des Mitglieds protokolliert, und unverschlüsseltes HTTP wird weiterhin zwischengespeichert. Ist der übergeordnete Proxy ein [Rotierender Proxy](https://proxynet.io/de/rotating-proxy), wechselt der Anbieter die Ausgangs-IP, während Squid für die Clients eine feste Adresse bleibt ([Was ist IP-Rotation?](/de/blog/ip-rotation-explained)). Die Kette verwaltet Zugangsdaten; sie verbirgt nicht, wer Sie sind, und die Bedingungen des Anbieters sowie die Regeln jeder Website gelten weiterhin.

## Wie verbinden Sie einen Client und testen ihn?

Führen Sie Folgendes auf einem Rechner im erlaubten Netz aus; `198.51.100.20` steht für Ihren Server.

```bash
# 1. Ohne Anmeldung: Squid verlangt eine
curl -x http://198.51.100.20:3128 https://httpbin.org/ip
# curl: (7) CONNECT tunnel failed, response 407

# 2. Mit Anmeldung: Die Antwort zeigt die IP des Servers, nicht Ihre
curl -x http://team1:pass@198.51.100.20:3128 --retry 3 https://httpbin.org/ip

# 3. Auf dem Server: die letzten drei Anfragen
sudo tail -n 3 /var/log/squid/access.log
```

Die curl-Seite haben wir mit curl 8.21 gegen einen lokalen Test-Proxy mit Anmeldepflicht ausgeführt: Der erste Befehl gab die obige Zeile aus, der zweite lieferte die Ausgangsadresse des Proxys. `--retry 3` wiederholt nach einem Timeout oder einem vorübergehenden HTTP-Code wie `429` oder `503`, nie nach einer `407`. Mehr dazu in [cURL mit Proxy verwenden](/de/blog/curl-proxy) und [So testen Sie einen Proxy](/de/blog/how-to-test-a-proxy).

## Wofür nutzen Sie einen eigenen Proxy-Server?

- **Eine feste Ausgangs-IP für eine API:** Nur der API-Verkehr läuft über Squid ([Statische IP für APIs](/de/blog/static-ip-for-api-access)).
- **Kontrolle des Webzugriffs im Büro:** `dstdomain`-ACLs und `access.log`, wobei die Mitarbeitenden vorher informiert werden ([Proxy und Firewall](/de/blog/proxy-vs-firewall)).
- **Browsereinstellungen im Büro:** Eine PAC-Datei sagt jedem Browser, wann er Squid nutzen soll ([Was ist eine PAC-Datei?](/de/blog/pac-file)).
- **Ein Paket-Cache für CI-Rechner:** apt holt jedes unverschlüsselte HTTP-Paket nur einmal ([Linux-Proxy-Einstellungen](/de/blog/linux-proxy-settings)).
- **Nicht für Datenarbeit über Ländergrenzen hinweg:** Preisvergleiche und Scraping nach Standort brauchen viele Adressen ([Data Scraping](/de/data-scraping)).

## Häufige Fehler

- **`http_access allow all`.** Ein offener Proxy, dessen IP bald auf Sperrlisten landet ([IP-Blacklist](/de/blog/ip-blacklist)).
- **`auth_param` ohne `proxy_auth` in `http_access`.** Es wird nie ein Passwort abgefragt.
- **Ein `allow` unterhalb von `deny all`.** Wird nie erreicht; alle bekommen `403`.
- **3128 zum Internet hin offen.** Ein Passwort allein lädt zum Raten ein, und Basic Auth sendet es unverschlüsselt.
- **HTTPS-Cache-Hits erwarten.** Tunnel werden nie zwischengespeichert.
- **`squid -k parse` auslassen.** Ein Tippfehler stoppt den Dienst; `journalctl -u squid` zeigt, warum.
- **`maximum_object_size` bei 4 MB belassen** für einen Paket-Cache, oder ein `cache_dir`, das größer ist als der freie Speicherplatz.
- **Intensives Scraping von der VPS-IP.** Websites antworten mit `429` und sperren danach ([HTTP-Statuscodes beim Web Scraping](/de/blog/http-status-codes-web-scraping)).

## Entscheidungshilfe

| Bedarf | Empfehlung |
|---|---|
| Das Team muss eine API von einer IP aus erreichen | Squid auf einem VPS mit fester IP, mit Allowlist und Anmeldung, oder ein [Statischer Proxy](https://proxynet.io/de/static-proxy) |
| CI-Rechner laden immer wieder dieselben Pakete herunter | Squid mit `cache_dir` und größerem `maximum_object_size`; der Gewinn kommt von HTTP-Spiegelservern |
| Das Büro will besuchte Websites sehen und begrenzen | `dstdomain`-ACLs und `access.log`; die Mitarbeitenden vorher informieren |
| Das Passwort des kommerziellen Proxys soll auf einem Server bleiben | Squid für die Clients, `cache_peer` zum Anbieter, `never_direct allow all` |
| Sie brauchen IPs in anderen Ländern oder viele IPs | Nicht der eigene Squid: ein Datacenter-Proxy oder ein Residential- und rotierender Pool |
| Sie möchten HTTPS-Seiten zwischenspeichern | Nicht mit dem Standardpaket; speichern Sie nur unverschlüsselte HTTP-Quellen zwischen |

## Häufige Fragen

### Welchen Port nutzt Squid?

Die Konfiguration von Ubuntu setzt `http_port 3128`, also lauscht Squid nach der Installation auf 3128. Sie können diese Zeile zusammen mit der Firewall-Regel ändern, aber ein anderer Port bringt keinen Schutz; den bringen die Netzwerk-ACL, die Anmeldung und die Firewall. Was die gängigen Proxy-Portnummern bedeuten, erklärt unser [Beitrag zu Port 8080](/de/blog/port-8080).

### Kann Squid HTTPS-Websites zwischenspeichern?

In der Standardeinrichtung nicht. Eine HTTPS-Anfrage kommt als `CONNECT`-Tunnel an, und Squid leitet verschlüsselte Bytes weiter, ohne die Seite zu sehen; es gibt also nichts zu speichern. SSL Bump, das den Verkehr öffnet, erfordert ein Squid-Zertifikat auf jedem Client-Gerät und das Paket `squid-openssl` und liegt außerhalb dieser Anleitung.

### Wie übernehme ich Änderungen an squid.conf, ohne den Dienst zu stoppen?

Führen Sie zuerst `sudo squid -k parse` aus, damit ein Tippfehler den Proxy nicht lahmlegt. Danach folgt `sudo systemctl reload squid`: Das sendet dasselbe Signal wie `squid -k reconfigure`, und der Dienst läuft weiter. Nach dem Hinzufügen oder Verschieben eines `cache_dir` starten Sie stattdessen einmal neu, damit der Dienst die Cache-Ordner anlegt.

### Wo liegen die Squid-Logs und wie lese ich sie?

Unter Ubuntu liegen sie in `/var/log/squid/`: `access.log` enthält eine Zeile pro Anfrage, `cache.log` Startmeldungen und Fehler. Achten Sie in `access.log` auf den Ergebniscode: `TCP_HIT` kam aus dem Cache, `TCP_MISS` von der Website, `TCP_TUNNEL` ist HTTPS, und `TCP_DENIED` mit `407` oder `403` bedeutet abgelehnt.

### Was ist der Unterschied zwischen Squid und Tinyproxy?

Tinyproxy beschreibt sich selbst als schlanken HTTP- und HTTPS-Proxy-Daemon für Systeme, die für einen vollwertigen Proxy zu klein sind, und sein Konfigurationshandbuch nennt keine Cache-Einstellungen. Squid bietet zusätzlich einen Arbeitsspeicher- und Festplatten-Cache, detaillierte ACLs, mehrere Anmelde-Helper und Ketten mit übergeordneten Proxys. Für reines Weiterleiten auf einem kleinen Gerät kann Tinyproxy genügen.

### Verbirgt ein eigener Squid-Server meine Identität?

Nur teilweise. Websites sehen die IP des VPS statt Ihrer Heimadresse, und `forwarded_for delete` mit `via off` entfernt die Proxy-Header aus unverschlüsseltem HTTP. Diese IP gehört aber zu einem Rechenzentrum, ist auf Ihren Namen gemietet und kommt immer vom selben Ort. Squid ist ein Werkzeug für Zugriffskontrolle und einen gemeinsamen Ausgang, nicht für Anonymität.

## Fazit

Squid gibt Ihnen einen eigenen Forward-Proxy mit Zugriffskontrolle, einem Cache für unverschlüsseltes HTTP und einem Log für jede Anfrage. Eine sichere Einrichtung hält drei Dinge in der richtigen Reihenfolge: eine Netzwerk-ACL, eine `proxy_auth`-Anmeldung, die in `http_access` verwendet wird, und `http_access deny all` am Ende, dazu eine Firewall, die nur für bekannte Adressen offen ist. Die Grenze ist die Adresse: Ein Server ist eine Datacenter-IP an einem Ort. Braucht eine Aufgabe mehr Adressen oder andere Länder, schließt ein [Datacenter-Proxy](https://proxynet.io/de/datacenter-proxy) oder ein [Residential-Proxy](https://proxynet.io/de/residential-proxy) die Lücke, und unsere Seite [Proxy-Dienste](/de/proxy) vergleicht die Optionen.
