Sind Sie sich da ganz sicher? Denn wenn das stimmt, werde ich sofort einen Reverse-Proxy einrichten.
Bearbeiten
Die KI hat hier dasselbe gesagt. Also wird es ein Reverse-Proxy sein.
Antwort der KI
Das GeoBlock-Plugin für Discourse verwendet die MaxMindDB-Datenbank, um das Land oder Netzwerk (ASN) eines Benutzers anhand seiner IP-Adresse zu ermitteln. Die eigentliche Sperrung erfolgt jedoch auf Anwendungsebene (innerhalb der Discourse-App) und nicht auf Server- oder Netzwerk-/Firewall-Ebene.
In der Praxis:
- Wenn die IP eines Besuchers mit einem blockierten Land oder Netzwerk übereinstimmt, gibt die Discourse-Anwendung eine Fehlerseite an den Besucher zurück, anstatt Foreninhalte.
- Die Sperrung erfolgt erst, wenn die HTTP-Anfrage die Discourse-Anwendung erreicht. Mit anderen Worten: Anfragen durchlaufen immer noch Ihren Webserver (z. B. nginx) und den Docker-Container und erreichen die Discourse-Software, bevor der Benutzer gesperrt wird.
- Das bedeutet, dass Sie diese Anfragen immer noch in Ihren Server- und Proxy-/nginx-Protokollen sehen werden, auch wenn der Benutzer letztendlich von Discourse gesperrt wird.
- Wenn Sie eine “harte” Sperrung benötigen (Zugriff verhindern, noch bevor die Anfrage die Discourse-App erreicht), benötigen Sie eine GeoIP-Lösung auf Serverebene (wie z. B. Sperrung auf nginx/iptables-Ebene oder ein externes Tool).
Quellen und weitere Informationen:
- Geo Blocking Plugin - meta.discourse.org
- Dokumentation des Plugin-GitHub: GitHub - communiteq/discourse-geo-blocking
Zusammenfassung:
Das Discourse GeoBlock-Plugin blockiert Anfragen nicht auf Netzwerk-/Serverebene, sondern erst, nachdem die Discourse-Anwendung die Anfrage verarbeitet hat. Wenn Sie jeglichen Zugriff verhindern müssen, bevor Ihre Anwendung die Anfrage sieht, müssen Sie einen GeoIP-Ansatz auf Serverebene verwenden.
Ich habe keine Konversation geteilt, weil ich auf Finnisch gefragt habe und ihr das wahrscheinlich nicht könnt ![]()