Geoblocking mit Nginx des Containers?

Entschuldigung, das ist eine reine Anfängerfrage. Aber ich weiß, wie man Nginx benutzt, um problematische Länder zu blockieren, auch bekannt als Geoblocking, und unerwünschte User Agents zu stoppen. Ich könnte einen Reverse Proxy vor Discourse verwenden, das habe ich schon einmal gemacht, aber ich verstehe nichts von Containern. Ich verstehe nicht einmal, wie Docker überhaupt funktioniert.

Kann ich also dasselbe Nginx verwenden, das Discourse benutzt? Oder, einfacher ausgedrückt: Kann ich dasselbe innerhalb eines Containers machen, was ich außerhalb davon tun würde/könnte? Oder würden alle Änderungen überschrieben, wenn ich das nächste Mal ein Upgrade durchführe?

Ich versuche, kein zusätzliches Nginx als Reverse Proxy zu verwenden, weil ich keine Fragen mag wie “Ist Ihr Setup wie empfohlen? :joy:

Um Zeit zu sparen, habe ich hier angefangen, nicht mit KI. LLMs sind dazu neigen, zu 80 % genau zu sein, und die fehlenden 20 % wären wirklich zeitaufwendig…

Ich weiß, dass diese Frage hier nicht geeignet ist, aber es ist definitiv keine Support-Frage. Bitte verschieben Sie sie gerne woandershin.

Ich würde eine Vorlage erstellen, die Sie in den Docker-Container aufnehmen, der vom Launcher erstellt wird.

Zum Beispiel so eine Ratenbegrenzungsvorlage, die Änderungen am Nginx-Setup vornimmt: discourse_docker/templates/web.ratelimited.template.yml at main · discourse/discourse_docker · GitHub
Sie würden Ihre eigene Vorlage in die templates:-Liste Ihrer Container-YAML-Konfiguration aufnehmen.

Wenn Sie ihn das nächste Mal neu erstellen, werden Ihre Änderungen an der Nginx-Konfiguration übernommen.

1 „Gefällt mir“

Nach schnellem Googeln sieht es so aus, als müsste ich Vorlagen, wie vorgeschlagen, und/oder ein Plugin verwenden, da sonst alles überschrieben wird.

Oder ich muss einen Reverse-Proxy außerhalb des Containers verwenden.

Richtig?

Ja, aber wenn Sie sich mit nginx auskennen, ist es wahrscheinlich nicht allzu schwer, eine Vorlage zu erstellen (oder Zeilen zu Ihrer app.tml hinzuzufügen), die das tut, was Sie möchten.