ubuntuusers.de

Web-Relay&Cache-Server gesucht

Status: Gelöst | Ubuntu-Version: Server 19.04 (Disco Dingo)
Antworten |

nielsh

Anmeldungsdatum:
7. April 2007

Beiträge: 33

Moin zusammen,

zur Reduzierung von häufig genutzten Downloads in unserem Labor suche ich eine Lösung, die als Web-Server agieren kann, damit ich ganz spezielle DNS-Namen darauf umleiten kann. Dann soll der Server prüfen, ob er die Datei schon/noch im Cache hat und diese aus seinem Bauch heraus anbieten. Wenn nicht, soll er sich die Datei an der originalen Quelle, cachen und anbieten. Dateien die lange nicht mehr angefragt wurden, sollen irgendwann aus dem Cache fliegen. Das bieten diverse teure Lösungen mit viel Drumherum an, was ich alles nicht brauche. Gibt es da auch eine schöne, nicht zu aufwendige Lösung als 'fertiges' Paket? Ich fürchte mir fehlen mal wieder die richtigen (Such)Worte...

Niels

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11250

Wohnort: München

Stichwort Proxy-Server - da gäbe es z.B. Squid.

nielsh

(Themenstarter)

Anmeldungsdatum:
7. April 2007

Beiträge: 33

Danke Seahawk,

Squid ist aber ein 'echter' Proxy. Da habe ich schon etwas gelesen, aber meine Wünsche kann ich wohl nicht umsetzen. Entweder ich gebe ihn im Client als Proxy an oder nutze ihn auf einem Gateway als transparenten Proxy. Aber als Ersatz-Webserver kann ich ihn wohl nicht einsetzen, was ich aber benötige um ihn ohne Konfiguration im Client auch aus anderen Subnetzen zu nutzen. Da ist meine einzige Waffe die DNS-Auflösung. Ich habe jetzt aber noch einen Artikel zu Squid gefunden, der evtl. das beschreibt was ich brauche,aber den muss ich nochmal in Ruhe genießen: https://wiki.squid-cache.org/SquidFaq/ReverseProxy

Niels

PS: Das was ich brauche ist dann wohl ein Surrogate Proxy, und das geht mit Squid oder Apache. Mal sehen, ob ich das hin bekomme oder jemand noch 'was' für mich hat 😉

kizu

Avatar von kizu

Anmeldungsdatum:
31. Juli 2009

Beiträge: 677

Wohnort: Buchholz

Hallo nielsh,

wozu möchtest du denn einen http-Server aufsetzen, der die Dateien zur Verfügung stellt, wenn es der Proxyserver ganz automatich macht, wenn man ihn nur richtig konfiguriert. Ein Proxyserver ist ja im Prinzip nichts anderes als ein http(s)-Server, der in der Regel alle http(s)-Anfragen im Hintergrund ins Internet weiterleitet und die Antwort zurückgibt. Gleichzeitig speichert der Proxy den zurückgegebenen Inhalt (je nach Einstellung) in seinem Cache um beim nächsten mal die Datei gleich zurückgeben zu können, ohne im Internet zu fragen. Wie heißen denn die Lösungen, die du beschreibst, die aber deiner Meinung nach kein echter Proxy sind?

was ich aber benötige um ihn ohne Konfiguration im Client auch aus anderen Subnetzen zu nutzen.

Das geht doch mit einem transparenten Proxy, wenn alle Subnetze den gleichen Weg ins Internet nehmen und wenn nicht, muss man mehrere Gateways dazu bringen den Verkehr an den Proxy umzuleiten.

Ansonsten gibt es verschiedene Möglichkeiten einen Proxy zu nutzen, einige auch ohne aufwendige Konfiguration: https://de.wikipedia.org/wiki/Proxy_%28Rechnernetz%29#Die_Internetzugriffe_des_Browsers_%C3%BCber_einen_Proxy_leiten

MfG, Daniel

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Die Frage ist, ob du http oder https machst. Ersteres lässt sich problemlos transparent proxien, letzteres nur mit Umständen (und unter aufbrechen des https, was nicht empfohlen ist).

nielsh

(Themenstarter)

Anmeldungsdatum:
7. April 2007

Beiträge: 33

Moin zusammen,

@misterunknown Aktuell geht es nur um HTTP. Mir ist durchaus bewusst, dass HTTPS eine ganz andere Baustelle ist.

@kizu Das Gateway ist vorhanden und unterstützt so etwas nicht und es ist auch einfach zu anstrengend, dies mit dem Dienstleister dafür zu diskutieren 😉 Mir geht es hier speziell um das Upgrade von Telefonen. Die werden in's Netz gehängt und bekommen per DHCP eine IP, einen DNS usw.. Einen Web-Proxy müsste man manuell konfigurieren (wenn das überhaupt geht...).

Inzwischen denke ich schon, dass man Squid entsprechend verbiegen kann, die Frage ist nur ob es mir gelingt 😉 Daher werde ich erst einmal ein anderes Ergebnis meiner Suche testen: https://freeloadbalancer.com/ . Ich suche noch den Haken, warum das Ding frei ist, aber den werde ich sicher noch erfahren 😉

Niels

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

nielsh schrieb:

@misterunknown Aktuell geht es nur um HTTP. Mir ist durchaus bewusst, dass HTTPS eine ganz andere Baustelle ist.

Dann ist es kein Problem den Proxy transparent dazwischen zu schalten.

Mir geht es hier speziell um das Upgrade von Telefonen. Die werden in's Netz gehängt und bekommen per DHCP eine IP, einen DNS usw.. Einen Web-Proxy müsste man manuell konfigurieren (wenn das überhaupt geht...).

Du kannst auch versuchen den Proxy per DHCP zu verteilen, wenn die Telefone das unterstützen. Das müsstest du halt in Erfahrung bringen.

Inzwischen denke ich schon, dass man Squid entsprechend verbiegen kann, die Frage ist nur ob es mir gelingt 😉

Warum nicht?

Daher werde ich erst einmal ein anderes Ergebnis meiner Suche testen: https://freeloadbalancer.com/ . Ich suche noch den Haken, warum das Ding frei ist, aber den werde ich sicher noch erfahren 😉

Das ist IMHO keine adäquate Lösung für dein Problem. Du suchst keinen Reverse-Proxy, sondern einen Forwarding-Proxy. Reverse Proxies werden auf Seiten des Anbieters eingesetzt, um Loadbalancing und Caching abzubilden.

nielsh

(Themenstarter)

Anmeldungsdatum:
7. April 2007

Beiträge: 33

misterunknown schrieb:

Du kannst auch versuchen den Proxy per DHCP zu verteilen, wenn die Telefone das unterstützen. Das müsstest du halt in Erfahrung bringen.

Dann würde der Proxy aber für alle URLs gelten und das darf nicht sein, da die Geräte auch URLs ohne den Proxy erreichen müssen und bei den Ausnahmen endet die Freude an den DHCP-Optionen in diesem Fall.

misterunknown schrieb:

nielsh schrieb:

Inzwischen denke ich schon, dass man Squid entsprechend verbiegen kann, die Frage ist nur ob es mir gelingt 😉

Warum nicht?

Der eigene geistige Horizont ist hier immer das limitierende Element 😉

misterunknown schrieb:

nielsh schrieb:

Daher werde ich erst einmal ein anderes Ergebnis meiner Suche testen: https://freeloadbalancer.com/ . Ich suche noch den Haken, warum das Ding frei ist, aber den werde ich sicher noch erfahren 😉

Das ist IMHO keine adäquate Lösung für dein Problem. Du suchst keinen Reverse-Proxy, sondern einen Forwarding-Proxy. Reverse Proxies werden auf Seiten des Anbieters eingesetzt, um Loadbalancing und Caching abzubilden.

Da bin ich mir noch nicht so sicher, ob ein Reverse-Proxy nicht schon der richtige Weg ist, weil ein Transparent-Proxy ausscheidet. Der o.g. Server tut schon fast das was ich suche. Allerdings kann ich als Echt-Server zwar einen DNS-Namen eintragen, aber der löst dann die IP auf und fragt den Server per IP an, was nicht funktioniert. Aber da sitzt das Problem evtl. noch vor dem System. Mit einem internen Server, der eine Anfrage per IP korrekt beantwortet funktioniert er wie gewünscht. Das ist ja eben auch seine primäre Aufgabe, wie Du ja schon geschrieben hast, aber eigentlich soll er bei mir das Gleiche tun, nur dass der Echt-Server nicht 'nebenan' steht.

Niels

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

nielsh schrieb:

Dann würde der Proxy aber für alle URLs gelten und das darf nicht sein, da die Geräte auch URLs ohne den Proxy erreichen müssen

Warum?

und bei den Ausnahmen endet die Freude an den DHCP-Optionen in diesem Fall.

Das kommt darauf an, ob die Telefone Proxy Auto-Config unterstützen. Aber grundsätzlich kannst du auch einfach bestimmte Ziele transparent über den Proxy leiten, auch ohne einen Proxy auf den Geräten konfigurieren zu können.

Der eigene geistige Horizont ist hier immer das limitierende Element 😉

So kompliziert ist das nicht. Einfach mal bisschen die Doku lesen.

Da bin ich mir noch nicht so sicher, ob ein Reverse-Proxy nicht schon der richtige Weg ist

Nein, ist es nicht. Man kann natürlich eine Software so vergewaltigen, dass sie tut was man will, aber vom Anwendungsfall ist ein Reverse-Proxy hier Blödsinn.

weil ein Transparent-Proxy ausscheidet.

Aha, und warum?

Der o.g. Server tut schon fast das was ich suche.

Das oben genannte Produkt ist für völlig andere Anwendungsfälle gemacht. Es ist eben ein Unterschied, ob man ein Dienst-Anbieter ist, der eingehende Verbindungen loadbalancen will, oder ob man einen client-seitigen Web-Cache braucht...

nielsh

(Themenstarter)

Anmeldungsdatum:
7. April 2007

Beiträge: 33

So, der o.g. Reverse Proxy tut es. Ob ich ihn nun vergewaltige oder nicht ist mir erst einmal relativ egal. Der Fehler war nur, dass der Server-Check auf die IP geht und ich hier den Header anpassen musste, damit der Echt-Server was ausliefert. Ich hatte es auch ohne Servercheck probiert, aber da habe ich den Aufruf über die IP des Dienstes gemacht, also stand auch nicht der DNS-Name im Header drin und der Echt-Server konnte die Anfrag nicht verarbeiten. Das wäre über eine Header-Manipulation auch durchaus noch lösbar, aber man kann den Dienst ja auch ruhig mit vernünftiger DNS-Auflösung ansprechen, dann muss man darüber nicht mehr nachdenken...

Niels

Antworten |