| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
| squid.conf [2024-07-19 03:37:21] – david | squid.conf [2024-07-19 21:52:24] (aktuell) – [https proxy für große dateien mit ssl bumping] david |
|---|
| |
| |
| ===== https proxy für große dateien mit lan zugriff ===== | ===== https proxy für große dateien mit ssl bumping ===== |
| | |
| | **wichtig**: openssl version von squid wird benötigt, gnutls version funktioniert nicht (auf debian ''squid-openssl'' statt ''squid'') |
| |
| * ''acl private_network'' definiert die lokalen ipv6 & ipv4 netze (ip ranges) | * ''acl private_network'' definiert die lokalen ipv6 & ipv4 netze (ip ranges) |
| * ''http_access deny all'' am ende verbietet alles was bisher noch nicht gematched wurde (verwandelt sozusagen alle ''http_access allow'' zeilen in whitelist einträge) | * ''http_access deny all'' am ende verbietet alles was bisher noch nicht gematched wurde (verwandelt sozusagen alle ''http_access allow'' zeilen in whitelist einträge) |
| * ''https_port 3128 tls-cert=fullchain.pem tls-key=privkey.pem'' listened auf port 3128 als https proxy mit einem letsencrypt zertifikat (fullchain ist das vollständige zertifikat und privkey der private key) | * ''https_port 3128 tls-cert=fullchain.pem tls-key=privkey.pem'' listened auf port 3128 als https proxy mit einem letsencrypt zertifikat (fullchain ist das vollständige zertifikat und privkey der private key) |
| * ''cache_dir aufs /var/spool/squid 50000 16 256'' setzt das cache dir mit dem speichertyp aufs (ufs aber moderner und non blocking), 50gb größe, 16 sub dirs 1. grades, 256 sub dirs 2. grades | * ''cache_dir aufs /var/spool/squid 64000 16 256'' setzt das cache dir mit dem speichertyp aufs (ufs aber moderner und non blocking), 64gb größe auf hdd/ssd, 16 sub dirs 1. grades, 256 sub dirs 2. grades |
| | * ''ssl_bump splice localhost'' https requests von localhost werden getunnelt |
| | * ''ssl_bump bump all'' alle anderen https requests werden entschlüsselt und neuverschlüsselt (erlaubt caching, aber sehr unsicher, **nur in lokalen testumgebungen nutzen**) |
| |
| <code c /etc/squid/squid.conf> | <code bash /etc/squid/squid.conf> |
| include /etc/squid/conf.d/*.conf | include /etc/squid/conf.d/*.conf |
| |
| shutdown_lifetime 10 seconds | shutdown_lifetime 10 seconds |
| |
| acl private_network src fe80::/10 # rfc 4291 link local (ipv6) | acl private_network src fe80::/10 # rfc 4291 link local (ipv6) |
| acl private_network src 169.254.0.0/16 # rfc 3927 link local (ipv4) | acl private_network src 169.254.0.0/16 # rfc 3927 link local (ipv4) |
| acl private_network src fc00::/7 # rfc 4193 unique local (ipv6) | acl private_network src fc00::/7 # rfc 4193 unique local (ipv6) |
| acl private_network src 10.0.0.0/8 # rfc 1918 private (ipv4) | acl private_network src 10.0.0.0/8 # rfc 1918 private (ipv4) |
| acl private_network src 172.16.0.0/12 # rfc 1918 private (ipv4) | acl private_network src 172.16.0.0/12 # rfc 1918 private (ipv4) |
| acl private_network src 192.168.0.0/16 # rfc 1918 private (ipv4) | acl private_network src 192.168.0.0/16 # rfc 1918 private (ipv4) |
| |
| acl safe_ports port 80 # http | acl safe_ports port 80 # http |
| acl safe_ports port 443 # https | acl safe_ports port 443 # https |
| |
| acl secure_ports port 443 | acl secure_ports port 443 |
| http_access deny to_linklocal | http_access deny to_linklocal |
| http_access deny all | http_access deny all |
| | |
| | #ssl_bump splice localhost |
| | ssl_bump bump all |
| |
| #http_port 3128 | #http_port 3128 |
| |
| coredump_dir /var/spool/squid | coredump_dir /var/spool/squid |
| cache_dir aufs /var/spool/squid 50000 16 256 | cache_dir aufs /var/spool/squid 64000 16 256 |
| minimum_object_size 100 MB | |
| maximum_object_size 10 GB | |
| maximum_object_size_in_memory 1 GB | |
| </code> | </code> |
| | |
| | Testen: |
| | * in firefox konfigurieren und interaktiv testen |
| | * chromium mit cli args starten und interaktiv testen: ''%%chromium --incognito --proxy-server="https://proxy.example.com:3128%%'' |
| | * curl auf cli (http): ''%%time curl -IL http://httpforever.com -x https://proxy.example.com:3128%%'' |
| | * curl auf cli (https): ''%%time curl -L https://cloudflare.com/cdn-cgi/trace -x https://proxy.example.com:3128%%'' |
| | * yt-dlp auf cli (youtube video downloaden und so größeren cache testen): ''%%yt-dlp --prefer-free-formats --restrict-filenames --output "%(title)s.%(ext)s" https://youtu.be/dQw4w9WgXcQ --proxy https://proxy.example.com:3128 --force-overwrites%%'' |
| | * curl auf cli (debian iso downloaden und so größeren cache testen): ''%%time curl -LO https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.6.0-amd64-netinst.iso -x https://proxy.example.com:3128%%'' |
| |
| |