Wie kann eine einzelne URL auf verschiedene Websites / Server umgeleitet werden? (zB: https://hkps.pool.sks-keyservers.net/)

1532
KIAaze

Gestern habe ich festgestellt, dass https://hkps.pool.sks-keyservers.net/ auf meinem Laptop eine andere Seite als auf meinem Desktop-PC angezeigt hat.

Diese URL leitet auf einen der vielen hier aufgeführten Server um: https://sks-keyservers.net/status/

Im Gegensatz zu einer normalen URL-Umleitung ändert sich die URL nicht, während der Inhalt der Seite dies tut.

Wie funktioniert das genau? Wie kann es eingerichtet werden? Hat es etwas mit einem Round-Robin-DNS-System zu tun ?

Es scheint auch, dass es immer den gleichen "Server" auf einem bestimmten PC anzeigt, wenn von dort einmal auf ihn zugegriffen wurde. Wie macht es das?

http://www.pool.ntp.org/de/ scheint ein ähnliches System zu sein.

1

3 Antworten auf die Frage

3
Kristian Fiskerstrand

Ja, alle Pools von sks-keyservers.net werden über ein DNS-Round-Robin eingerichtet. In Bezug auf Reverse-Proxies müssen alle Server aktiviert sein, und wenn Sie sich die Spalte "rprox" unter https://sks-keyservers.net/status/ ansehen, geben einige blaue Flags Server mit mehreren Servern im Backend in a an Cluster-Setup.

Die tatsächlichen Daten für das Round-Robin-Verfahren basieren auf (i) stündlicher Update-Ausführung des vollständigen Pools (ii) des autorisierenden DNS-Servers. Aktualisieren Sie die Liste der DNS-Einträge alle 15 Minuten. Für die nicht geografischen Pools wird in (ii) eine zufällige Auswahl verwendet, für die geographischen Pools (EU, NA, ...) wird der SRV-Datensatz basierend auf der Beschreibung in http://kfwebs.com/sks- Schlüsselserver-SRV.pdf

Eine direkte Antwort vom Admin! Vielen Dank. :) Warum muss auf den Servern ein Proxy aktiviert sein? Ist der "Proxy" nicht der Rechner, der die Informationen weiterleitet, dh der hkps.pool.sks-keyservers.net geht zuerst auch? Ist es so, dass jeder der tatsächlichen Server bei Bedarf auch zu einem anderen Computer des Pools umgeleitet werden kann? KIAaze vor 10 Jahren 0
Bei dem Pool handelt es sich um DNS-Round-Robin, sodass hier kein Proxying stattfindet. Der Datenverkehr wird jedoch direkt zu einem der Server geleitet. Für die Aufnahme in den Pool muss ein Reverse Proxy für die einzelnen Server vor der SKS-Instanz aktiviert werden. Der Grund dafür ist, dass es sich bei SKS um einen Singlethread handelt. Ein langsamer Client, der eine direkte Verbindung herstellt, kann dazu führen, dass ein DoS durchgeführt wird und andere Attitments den gleichen Server verlassen, um ein Zeitlimit zu erreichen. Mit einem Reverse Proxy vor dem SKS erledigt SKS seine Aufgabe und gibt das Ergebnis an den Reverse Proxy weiter, der es dem Client zur Verfügung stellt, und geht zum nächsten Job in der Warteschlange weiter. Kristian Fiskerstrand vor 10 Jahren 0
2
Nifle

Dafür gibt es mehrere Möglichkeiten.
Hier ist ein sehr oberflächlicher Weg, dies zu beschreiben.

Ein üblicher Weg ist, dass " https://hkps.pool.sks-keyservers.net/ " auf ein Frontend mit einem Webserver verweist.

Das Frontend leitet Ihre Anfrage dann an einen der Backend-Server weiter. Es gibt viele Möglichkeiten für den Frontend - Server eines Back - End - Server zu wählen, round robinist einer von ihnen, number of connectionsist eine andere.

Wenn Sie zu " https://hkps.pool.sks-keyservers.net/ " zurückkehren, merkt sich das Frontend entweder Ihre IP-Adresse und sendet Sie an dasselbe Backend, oder das Backend gibt Ihnen ein Cookie, das das Frontend liest, und teilt Ihnen mit, dass Sie dies wünschen zu einem bestimmten Backend gehen.

Bedeutet das also, dass die URL an einen "Reverse Proxy" weiterleitet? Ich würde mich tatsächlich für die Details oder Links zu Richtlinien für die Einrichtung eines solchen Systems interessieren. Mehrere IP-Einträge / A-Einträge in den DNS-Einträgen? Virtualhost-Eintrag auf Backend-Servern wie auf pool.ntp.org beschrieben? usw :) KIAaze vor 10 Jahren 0
0
milli

Dies hat wahrscheinlich nichts Besonderes mit dem DNS-Teil der Verbindung zu tun.

Webserver können Informationen eingeben, die Ihr Browser mit den Anforderungsheatern sendet, z. B. "referer" -Tags, die angeben, dass Sie auf einen Link auf einer anderen Website geklickt haben, um dorthin zu gelangen Browser. Hier ein paar Beispiele für User-Agent-Zeichenfolgen:

Chrome-Version 32 unter 64-Bit-Linux

Benutzer-Agent: Mozilla / 5.0 (X11; Linux x86_64) AppleWebKit / 537.36 (KHTML, wie Gecko) Chrome / 32.0.1700.107 Safari / 537.36

oder

Safari Version 7.0.1 unter OS X 10.9.1:

User-Agent: Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit / 537.73.11 (KHTML, wie Gecko) Version / 7.0.1 Safari / 537.73.11

Auf diese Weise ermitteln Webserver auch, ob Sie sich auf einem mobilen Gerät befinden.

Hier ist Safari Version 7.0, die auf einem iPad mit IOS 7.0.4 ausgeführt wird:

Benutzeragent: Mozilla / 5.0 (iPad; CPU OS 7_0_4 wie Mac OS X) AppleWebKit / 537.51.1 (KHTML, wie Gecko) Version / 7.0 Mobile / 11B554a Safari / 9537.53

Der Webserver kann diese Informationen verwenden, um eine andere Seite anzuzeigen, wenn der Designer dies bewusst versucht. So erhalten Sie in Chrome im Gegensatz zu Safari eine andere Seite als einfaches Beispiel. Wie Sie jedoch anhand des Inhalts der User-Agent-Zeichenfolgen sehen können, gibt es dort viele Informationen, mit denen ein Webdesigner die resultierende Seite anpassen kann, die Sie zurückerhalten.