Multisite vs. mehrere Container

Ich wollte ein Update zu meiner Situation geben.

Nach einiger Recherche habe ich beschlossen, dass ich ein Multisite-Setup (zu diesem Zeitpunkt ein Container) mit einer ‘externen’ Nginx-Site benötige, um das Setup zu erklären und Leute und Traffic auf die separaten Discourse-Sites zu leiten. Auf diese Weise könnte ich beide Seiten für den Lesezugriff (und Web-Crawler) öffnen, ohne dass die Leute von Liste 1 mit den Inhalten von Liste 2 umgehen müssen. Möglicherweise muss ich robots.txt bearbeiten, um die Web-Crawler zufriedenzustellen.

Die Beispiele für das Multisite-Setup waren lehrreich, aber ich konnte es nicht mit einem Unix-Socket zum Laufen bringen (Gateway-Fehler), also habe ich sie an einen anderen Port weitergeleitet und diesen Port im Container auf 443 umgeleitet.

In meiner app.yml-Datei habe ich die SSL-Vorlage aktiviert, aber nicht die letsencrypt-Vorlage.

Ich habe die Test-Site zum Laufen gebracht und suche nun nach möglichen Problemen, die auftreten könnten, wenn ich die Produktions-Site konvertiere, hoffentlich später in diesem oder im nächsten Monat.

Ich kümmere mich um das Zertifikatsproblem auf der Außenserverseite, bin aber auf das Problem ‘nicht sicher’ gestoßen, das ich behoben habe, indem ich HTTPS im Container erzwungen habe. Ich habe eine Aufgabe, die ich über Cron ausführen werde, um das neueste Zertifikat und den Schlüssel in das Verzeichnis /shared/ssl des Containers zu kopieren (als ssl.crt und ssl.key). Ich bin mir nicht sicher, ob ich einen Reload von Nginx im Container erzwingen muss, um sicherzustellen, dass ein neues Zertifikat geladen wird, wenn es sich ändert (ich glaube, im Juli).

Ich bin auf eine Discourse-Besonderheit gestoßen:

In der Containerdatei /etc/nginx/conf.d/discourse.conf befindet sich dieser Codefragment (Domainname geändert):

if ($http_host != ‘site1.my.domain’) {
rewrite (.*) https://site1.my.domain$1 permanent
}

Dies führte dazu, dass site2.my.domain zu site1.my.domain umgeleitet wurde, daher musste ich es auskommentieren.

HINWEIS: Das Neuerstellen des Containers erfordert die Wiederholung dieser Bearbeitung. Gibt es eine Möglichkeit, dies zu vermeiden?

Und dies führte zu einer Browser-Besonderheit, da Firefox diese Umleitung als permanent gekennzeichnet hatte, sodass ich den Browser-Cache löschen musste. (Das hat mich viel zu lange gekostet, um es herauszufinden!)

Ich bin auf eine andere seltsame Sache gestoßen.

Auf meiner Test-Site war der Parameter zum Erzwingen von HTTPS für keine der beiden Seiten aktiviert. Auf meiner Produktions-Site ist dieser Parameter in der Einstellungsdatei nicht einmal vorhanden. Ich vermute, das hat etwas mit den Unterschieden zwischen den beiden Sites zu tun.