Reverse-Proxy X-Forwarded-For

Ich habe mein Forum kürzlich auf einen deutlich leistungsfähigeren Host migriert und arbeite an Hochverfügbarkeit.

Im Reverse-Proxy habe ich die Header Forward Proto und For hinzugefügt, aber die Nginx-Konfiguration in Discourse berücksichtigte nur Proto.

Ich musste unter server folgendes hinzufügen:

set_real_ip_from loadbalancerip;
real_ip_header X-Forwarded-For;

Gibt es eine Discourse-Umgebungsvariable, um diese hinzuzufügen?
Oder eventuell ein Argument, das ich in app.yml hinzufügen kann?

Ich glaube, das ist, wonach du suchst:

Nein, diese Anleitung erklärt, wie man einen nginx-Socket einrichtet, der zwischen dem Container und dem Host gemeinsam genutzt wird.

Ich versuche, eine deklarative Möglichkeit zu finden, folgendes in die nginx-Konfiguration in Containern nach dem Neustart aufzunehmen:

set_real_ip_from loadbalancerip;
real_ip_header X-Forwarded-For;

Du versuchst, dies zum internen Nginx des Containers hinzuzufügen? Ich glaube, das ist unnötig, da es standardmäßig hinzugefügt wird:

Diese Zeile ist erforderlich, damit das funktioniert.
Ohne sie haben alle Anfragen weiterhin die IP-Adresse des Load Balancers.
Das weiß ich, weil mein Discourse wegen 429-Fehlern ausgefallen war.

Falls es nicht klar ist, so sieht meine Infrastruktur aus:
Benutzer > haproxy > discourse

Discourse beinhaltet natürlich einen nginx rproxy.

Ich habe die Weiterleitungs-Header in haproxy eingefügt, aber der interne nginx von Discourse hat den „Forwarded-For“-Header nicht beachtet. Ich musste die zwei Zeilen in meinem Eröffnungspost hinzufügen und den Container neu starten, damit es funktioniert.