Ich muss den Datenverkehr duplizieren / spiegeln, der zu meinem Server / meiner Ressource kommt.
Ich meine, ich habe Server A und B und N (nginx) als Webserver.
Der gesamte Verkehr, der zu N / resource kommt -> leiten Sie zu A und B um
Ist es möglich?
post_action
Direktive gespiegelt werden soll . Dies wird ausgeführt, nachdem die Anforderung von der Produktionsmaschine erfüllt wurde.Antworten:
Nginx verfügt jetzt über ein http-Spiegelmodul. Die Dokumentation finden Sie unter https://nginx.org/en/docs/http/ngx_http_mirror_module.html
Beispielkonfiguration aus der Dokumentation:
quelle
Hier ist eine neue Funktion von Nginx (1.13.4): http://nginx.org/en/docs/http/ngx_http_mirror_module.html#mirror
quelle
Basierend auf ihren README-Datei. Es sieht so aus, als ob GOR Ihnen bei der Lösung Ihres Problems helfen könnte.
Ich habe es noch nie benutzt, bin diese Woche nur darauf gestoßen, also viel Glück!
quelle
Sie können keine Anfragen mit NGINX spiegeln, aber die Anfrage ist als Variable verfügbar. Sie können jedoch Lua-Skripte verwenden, um diese Variable als Unteranforderung an einen Drittanbieter-Server zu senden. http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request
quelle
Nach dem Graben und Graben fand ich eine Lösung. Sie können es hier sehen. Kopieren Sie eine Anfrage und senden Sie sie an einen anderen Nginx-Server, um den tatsächlichen Datenverkehr zu testen senden von @scari zu testen
Ich dachte nur, ich sollte es hier erwähnen, um die Suche nach anderen Leuten zu erleichtern. In meinem Setup habe ich nicht uwsgi verwendet. Stattdessen wollte ich jede eingehende Anfrage auf einen zusätzlichen Server duplizieren (zusätzlich zu den Backboneservern, die bereits über einen Lastenausgleich verfügten).
Hoffe es wird helfen,
Liron
quelle