unbekannternr1
Goto Top

SQUID Proxy Cache Peer Fallback Experte gesucht

Hallo zusammen,


Ich versuche gerade einen Squid Proxy ein bisschen zu verändern. Stand aktuell ist so das Proxy_int fast alle anfragen an Proxy_ext weiterleitet. Außer jene die eine spezielle externe IP Benötigen und daher direkt abgearbeitet werden.
                                                                                               xxxxxxxxx xxxxxxxxxxxx
┌────────────────────┐                                    ┌───────────────────┐              xxx                    xxx
│                    │                                    │                   │            xxxx                       xx
│                    │                                    │                   │          xxx x                         xx
│   Proxy_Int        ├────────────────────────────────────►  Proxy_ext        │         xx   x                          x
│                    │                                    │                   ├─────────►                               x
│                    │                                    │                   │          x        INTERNET              xx
│                    │                                    │                   │          x                              xx
└───────────────────┬┘                                    │                   │           x                             x
                    │                                     └───────────────────┘           xx                           x
                    │                                                                       xx                       xx
                    │                                                                        xx                    xx
                    │                                                                         xxx                xx
                    │             Bei ausfall von Proxy_ext oder force direkt                    xxxxxxxxxxxxxxxx
                    └───────────────────────────────────────────────────────────────────────────►



Jetzt soll es aber so sein das wenn Proxy_ext nicht mehr zur verfügung steht, der Proxy_int die Webseiten doch direkt öffnet aber leider läuft er dann immer in einen Fehler, und kann die Verbindung nicht aufbauen. Ich habe schon verschiedenste kombinationen der never_direct oder always_direct ausprobiert aber ich sehe bzw. einfach nicht die Einstellung um Ihm zu sagen das es bei ausfall auf direct wechseln soll. Meine letzte Idee wäre eine zweite Instanz auf dem system zu starten und diese dann als zweiten Cache_peer einzutragen mit niedrigerer Priorität. Aber bevor ich das versuche wollte ich von euch wissen ob evtl besser geht.

Meine aktuelle squid.conf:
Und ja ich muss noch einiges bearbeiten. Und ja für führen den Proxy als Whitelist.
acl CONNECT method CONNECT
acl erlaubteDomains url_regex -i wieistmeineip.de test.de wie-ist-meine-ip.de .ipify.org
acl GOL-Google-API dstdomain maps.googleapis.com
acl localnet src 10.0.0.0/8
acl direktports port 1414
acl direktserver dst 80.77.201.16

acl localnet src 169.254.0.0/16 # RFC 1122 "this" network (LAN) 
acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN)
acl localnet src 192.168.0.0/16 # RFC 6598 shared address space (CGN)
acl localnet src fc00::/7 # RFC 3927 link-local (directly plugged) machines
acl localnet src fe80::/10 # RFC 1918 local private network (LAN)
acl Safe_ports port 80 # RFC 1918 local private network (LAN)
acl Safe_ports port 21 # RFC 4193 local private network range
acl Safe_ports port 443 # RFC 4291 link-local (directly plugged) machines
acl Safe_ports port 70 # http
acl Safe_ports port 210 # ftp
acl Safe_ports port 1025-65535 # https
acl Safe_ports port 280 # gopher
acl Safe_ports port 488 # wais
acl Safe_ports port 591 # unregistered ports
acl Safe_ports port 777 # http-mgmt
acl Clientss src 10.33.0.0/24 # gss-http
acl NeueWebsite url_regex -i .app.de .lencr.org


http_access deny !Safe_ports
http_access allow localhost manager
http_access allow erlaubteDomains Clientss !TerminalServer
http_access allow localhost
http_access allow Clientss NeueWebsite

include /etc/squid/conf.d/*


cache_peer ext_proxy.local.firma.de parent 8080 0 proxy-only default no-digest no-netdb-exchange no-delay connect-timeout=5 connect-fail-limit=1


always_direct allow direktports direktserver

never_direct allow all
never_direct deny


cache_dir ufs /var/spool/squid 100 16 256
coredump_dir /var/spool/squid
http_port 3128
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320
cache_effective_user proxy

Content-Key: 2033204001

Url: https://administrator.de/contentid/2033204001

Printed on: April 27, 2024 at 15:04 o'clock

Mitglied: 1915348599
1915348599 Mar 01, 2022 updated at 10:51:42 (UTC)
Goto Top
never_direct allow all
Das muss weg, da das schon jegliche direkte Verbindungen von vornherein verhindert.

Stattdessen nach diesem Schema arbeiten
cache_peer parentcache.foo.com parent 3128 0 no-query
prefer_direct off
nonhierarchical_direct off
The default behavior of Squid in the absence of positive ICP, HTCP, etc replies is to connect to the origin server instead of using parents. The prefer_direct off directive tells Squid to try parents first before DNS listed servers.
Certain types of requests cannot be cached or are served faster going direct, and Squid is optimized to send them over direct connections by default. The nonhierarchical_direct off directive tells Squid to send these requests via the parent anyway.

https://wiki.squid-cache.org/Features/CacheHierarchy
Member: UnbekannterNR1
UnbekannterNR1 Mar 02, 2022 at 11:14:50 (UTC)
Goto Top
Vielen Dank schonmal, genau diese Option hatte ich gesucht. Funktioniert auch schon fast.
Bei start von Squid nimmt er der parent proxy aber nach einigen sekunden wechselt er immer auf den direct weg face-sad und versucht auch dann nicht mehr den parent zu verwenden.

Ich habe verschiedene konfiguration versucht
cache_peer ext_proxy.de parent 8080 0 no-query
cache_peer ext_proxy.de parent 8080 0 no-query proxy-only default no-digest no-netdb-exchange weight=11

prefer_direct off
nonhierarchical_direct off

aber keine macht einen Unterschied. scheinbar unterstützt der parent auch kein ICP daher ist dieses auf 0.
Dummerweise kann ich auch den Logfile keinen Fehler erkennen obwohl ich die Bereiche 44 & 15 schon auf level 6 gestellt habe, gibt es keinen Eintrag der lautet dead peer oder ähnlich.