Wie kann ich die nginx-Konfiguration direkt in discourse/docker aktualisieren..?

In der Web-Template-Datei habe ich die Anweisungen gefunden, wo die Nginx-Konfigurationsdatei-Vorlage aktualisiert wird (Ersetzungsanweisungen). Gibt es keine Möglichkeit, einen ganzen neuen Abschnitt zu Nginx hinzuzufügen???

Der Ordner /uploads in discourse/shared ist von Nginx aus zugänglich. Ich möchte einen neuen Ordner /photos hinzufügen. Gibt es einen direkten Weg (von Discourse empfohlen)?

Können Sie erklären, warum Sie das tun möchten?

„Fotos“ können ohnehin in Discourse hochgeladen werden. Bild-Upload und -Optimierung sind bereits in Discourse integriert.

Vielleicht habe ich das falsche Beispiel genannt. Was ich herausfinden möchte, ist, wie ich auf die ursprüngliche Nginx-Konfiguration zugreifen und dort einen ganzen Abschnitt hinzufügen kann, sei es durch Hinzufügen einer neuen Zuordnung für einen Ordner oder etwas anderes. Ist das machbar oder wird es einfach nicht empfohlen?

Ich kann einen externen Nginx-Server installieren und alle Links auf den Docker-Nginx umleiten lassen und meine Sachen machen.

Sie finden möglicherweise eine ähnliche Technik zum Bearbeiten der Konfiguration in diesem alten Ratschlag, der für Sie funktioniert:

(entnommen aus einer früheren Version dieses Wiki-Beitrags: Set up Let’s Encrypt with multiple domains / redirects)

„Es ist eigentlich ganz einfach. Fügen Sie etwas wie das Folgende zu Ihrem app.yml-Hooks-Abschnitt hinzu:

Schritt 2 - discourse.conf

Zusätzlich zu Schritt 1 ist eine Änderung an nginx erforderlich, um http korrekt auf https für alles andere als DISCOURSE_HOSTNAME umzuleiten.

    - replace:
        filename: "/etc/nginx/conf.d/discourse.conf"
        from: /return 301 https.+/
        to: |
          return 301 https://$host$request_uri;

Wir müssen auch die zusätzliche Weiterleitung entfernen, die web.ssl.template.yml hinzufügt, da diese nur den DISCOURSE_HOSTNAME erzwingt und wir jetzt andere haben!

    - replace:
        filename: "/etc/nginx/conf.d/discourse.conf"
        from: /gzip on;[^\\}]+\\}/m
        to: |
          gzip on;
          add_header Strict-Transport-Security 'max-age=31536000'; # Zertifikat für ein Jahr merken und automatisch über HTTPS für diese Domain verbinden

Ja, ich habe diese Anweisungen in den Vorlagendateien gefunden. Gibt es keine Anweisung, einen neuen Abschnitt anzuhängen, anstatt zu suchen und zu ersetzen?

Sie werden kreativ werden müssen, das vermute ich.

Warum sagen Sie uns nicht, warum Sie diesen zusätzlichen Ordner benötigen? Es ist möglich, dass jemand anderes ein ähnliches Bedürfnis hatte, aber dass die angenommene Lösung nicht der einzige Weg ist, es zu erreichen.

1 „Gefällt mir“

Ich sagte, es sei ein schlechtes Beispiel. Ich kann jeden zusätzlichen Ordner mit verschiedenen Lösungen verwalten. Bisher gab es keine Probleme.
Dennoch möchte ich einen komplett neuen Abschnitt in die Nginx-Konfiguration einfügen können. Ich bin nur neugierig, wie das geht, falls ich es tun müsste.

Gibt es eine Möglichkeit, dass Sie wie von mir vorgeschlagen ein Muster abgleichen, wobei der Abgleich das Muster am Ende der Datei ist, und dann das Muster durch dasselbe ersetzen, aber mit Ihren Änderungen am Ende hinzugefügt?

Das dachte ich auch… Ich habe mich gefragt, ob es vielleicht ein magisches Feld für neu angehängte Abschnitte gibt, das für diesen Zweck definiert ist… Egal, ich denke, ich kann das mit Ihrem Vorschlag schaffen.

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.