Ich hatte eine Frage dazu, welcher Header für die Ratenbegrenzung verwendet wird. Zur Information: Wir haben eine nginx.conf mit set_real_ip und verwenden einen Anbieter, der uns Traffic mit der tatsächlichen IP des Clients im Header Some-Client-IP sendet.
Berücksichtigt Discourse X-Forwarded-For oder X-Real-IP für die Ratenbegrenzung? Ich denke, es berücksichtigt X-Forwarded-For, weil ich in production.log die IP meines Reverse-Proxys sehe. Ist die richtige Lösung, X-Forwarded-For ebenfalls auf $remote_addr umzustellen?
Haben Sie diese Klausel zu Ihrer app.yml hinzugefügt? Diese Einstellungen müssen im NGINX innerhalb des Containers vorgenommen werden. Siehe auch Set up Discourse on a server with existing Apache sites. Das ist für Apache, aber der Teil, der in app.yml kommt, ist unabhängig davon, was den Reverse Proxy macht, derselbe.
Wir haben kein HAProxy außerhalb der Container, wir haben einen DNS-Anbieter, der einige Vorverarbeitungen für uns durchführt, sodass der real_ip_header in einem anderen Header-Wert steht, und wir haben tatsächlich eine Liste von IP-Adressen, die ersetzt werden müssen.
Wir sehen tatsächlich auch eine Liste von X-Forwarded-For, ich frage mich, ob das der Grund dafür ist, dass die falschen IPs angezeigt werden.
Zum Beispiel sehe ich in den Produktionsprotokollen 111.11.11.111, aber nicht 55.555.55.55, was wir wollen (da es in x-real-ip gesetzt ist).