Ändern Proxys und/oder Load Balancer standardmäßig HTTP-Abfragezeichenfolgen?

Ändern Proxys und/oder Load Balancer standardmäßig HTTP-Abfragezeichenfolgen?

Einführung in das Problem

Ich habe kürzlich an einem Algorithmus zum Signieren von Anfragen gearbeitet und dabei stellte sich heraus, dass die Meinungen über die Einbeziehung von Abfragezeichenfolgen in den Teil, der dann signiert wird, „unterschiedlicher Natur“ sind.

Kurz gesagt, das Argument der Person gegen die Aufnahme von Abfragezeichenfolgen in die Zeichenfolge zum Signieren besteht darin, dass die Abfragezeichenfolgen geändert werden können (z. B. können Werte geändert, Argumente entfernt/hinzugefügt oder die Reihenfolge geändert werden).

Außerdem habe ich noch nie ein solches Verhalten in einem Proxy oder Load Balancer erlebt, obwohl ich Dinge wie das Ausblenden Authorizationvon Headern (z. B. durch Apache/WSGI) oder das Ändern der Anforderungsmethode (durch den Load Balancer, wahrscheinlich machen die Server von Amazon so etwas) erlebt habe. Ich weiß, dass ein solches Verhalten in einem Reverse-Proxy oder Load Balancer mithilfe einiger benutzerdefinierter Skripte/Regeln aktiviert werden kann, aber es könnte mitbeliebigTeil der Anfrage.

Es wurde viel Arbeit auf der Grundlage der Annahme geleistet, dass Abfragezeichenfolgen enthalten sein sollten. Außerdem sieht es dumm aus, einen der wichtigsten Teile der Anfrage nicht zu signieren. Daher muss ich wissen, ob das Einschließen von Abfragezeichenfolgen in der Rohform (wie sie innerhalb der URL übergeben werden) in Zukunft ein Problem darstellen wird oder nicht.

Eigentliche Frage

Meine Frage ist also:

Ist es üblich, dass Proxys oder Load Balancer Abfragezeichenfolgen ändern? Das erscheint mir albern. Kennen Sie einen Proxy oder Load Balancer (Software oder deren Installation), der das standardmäßig tut?

Ich bin sicher, dass wir in einem solchen Fall die Signaturüberprüfung auf der Ebene des Proxys/Load Balancers handhaben können, aber es kann ein stichhaltiges Argument sein, wenn dies unter den Vermittlern, über die wir keine Kontrolle haben, üblich ist.

Bitte lassen Sie mich wissen, was Sie darüber wissen. Wenn Sie Fragen haben, sagen Sie mir Bescheid.

Zur Klarstellung:AbfragezeichenfolgeIch meine den " ?arg1=val1&arg2=val2"-Teil der folgenden URL:

http://example.com/something/else?arg1=val1&arg2=val2

Und von "Ändern der Abfragezeichenfolge„Ich meine jede Aktion, die dazu führen könnte, dass es für den Client und den Server unterschiedlich aussieht (der Server sieht eine andere Abfragezeichenfolge als die, die der Client verwendet hat).

Antwort1

Viele moderne Reverse-Proxys könnten die Abfragezeichenfolgen ändern. Aber ich sehe keinen Grund, warum ein Load Balancer oder Proxy das standardmäßig tun sollte.

Vielleicht verwendet es die URI zum Lastenausgleich bei Sticky Sessions, aber das wäre wirklich dumm.

Also: Nein, ich kenne keinen Load Balancer, der die URI und die Parameter standardmäßig ändert.

Antwort2

Ich habe noch keinen Proxy gesehen, der dies kann, aber es kann eine brauchbare Lösung für die Sitzungsbindung sein, wenn Sie es nicht pro IP tun können und möchten, dass es funktioniert, auch wenn der Benutzer Cookies deaktiviert hat.

verwandte Informationen