Ich habe eine Kubernetes-Instanz auf GCP. Alles scheint in Ordnung zu sein, aber irgendwie erzwingt force_https keine Umleitung, und die Seite kann noch über http:// abgerufen werden.
Meine vorläufige Lösung bestand darin, diesen Abschnitt zu app.yml hinzuzufügen:
(Und ich würde gerne verstehen, wie man pups dazu bringt, die eingefügten Zeilen korrekt einzurücken, aber das sei dahingestellt.)
Irgendwann nach dieser Änderung scheint der Ingress-Controller aufgehört zu haben, die Seite auszuliefern, obwohl er zumindest eine Weile funktioniert hat – und ordnungsgemäß umgeleitet hat.
Offensichtlich handelt es sich hier um eine unsupported-install, aber falls jemand eine Idee hat, wo ich als Nächstes suchen sollte, wäre ich dankbar.
Verwenden Sie einen HTTP-Loadbalancer oder einen TCP-Loadbalancer? Bei HTTP kann das am Ingress sichtbare Protokoll in einem nicht standardkonformen Header verpackt sein, den Discourse nicht sucht.
Vielen Dank, @riking! Ja, es scheint, dass der Load Balancer mein Problem ist. Ich denke, Ingress ist in Ordnung (und ich habe jetzt eine gewisse Vorstellung davon, dass es einen Unterschied gibt). Ich bin auf die von dir gezeigte Konfiguration umgestiegen und erhalte dieselben Ergebnisse wie mit einer etwas komplizierteren Konfiguration. Ich vermute, der nächste Schritt wäre, tcpdump zu verstehen und zu prüfen, was in diesen Headern steht. . .
EDIT: Es sieht so aus, als ob es funktionieren sollte. Hier ist, was ich sehe:
@pfaffman Ich könnte dabei helfen – ich arbeite mit GCP und habe dieses Problem bereits gelöst. Ich bin jedoch für ein paar Stunden gebunden. Wenn du mir deine Load-Balancer-Konfiguration (zusammen mit den Health-Check-Einstellungen) hier oder privat sendest, kann ich versuchen, das Problem zu finden.
Ja, es scheint jetzt zu funktionieren! Ich bin mir zwar noch unsicher bezüglich des magischen Ports 30182, aber das ist wohl eine Art k8s-Magie, die ich mir später noch genauer ansehen werde.
Ich werde deinen after_web_config:-Absatz ausprobieren. Das wirkt etwas übersichtlicher als meine bisherige Lösung.