Ich habe derzeit das folgende Problem und würde mich sehr freuen, wenn mir jemand bei der Suche nach dem richtigen Ansatz helfen könnte.
Ich habe Discourse auf einem Ubuntu 21.10 Server bei Vultr installiert.
Ich habe die Standardinstallation verwendet und während der Installation bereits ein Let’s Encrypt-Zertifikat (für www.example.com) erstellt.
Mein Ziel ist es, dass mein Forum nur über www.example.com und nicht über example.com erreichbar ist.
Aktuelle Situation:
http://example.com leitet korrekt (301) zu https://www.example.com weiter.
http://www.example.com leitet korrekt (301) zu https://www.example.com weiter.
https://example.com wirft einen Zertifikatsfehler und wird nicht korrekt zu https://www.example.com weitergeleitet (das Zertifikat wurde für www.example.com und nicht für example.com ausgestellt).
Was ist der beste Ansatz, um https://example.com auf https://www.example.com umzuleiten und wie kann ich mein Ziel erreichen?
Dies ist ein Bereich, in dem ich nicht so gut bin. Was wäre der empfohlene Weg? Ich habe derzeit einen A-Eintrag sowohl für die Domain als auch für das www-Subdomain, die auf meinen Digital Ocean Droplet aufgelöst werden.
Vielen Dank für Ihr Feedback @JammyDodger. Ich werde es versuchen, auch wenn es so aussieht, als ob es ein etwas anderes Problem behandelt. Aber vielleicht funktioniert es.
Nur ein kurzes Update, um euch wissen zu lassen, was für mich funktioniert hat.
Ich habe es versucht, aber das hat für mich nicht funktioniert. Es sah so aus, als ob kein zusätzliches Zertifikat ausgestellt wurde.
Ich habe auch versucht, mein Problem zu lösen, indem ich diesem Vorschlag gefolgt bin, aber auch das hat für mich nicht funktioniert.
Das Einzige, was mein Problem bisher gelöst hat, war, den Anweisungen hier zu folgen: http://www.forcewww.com/
Dennoch denke ich, dass dies immer noch keine wünschenswerte Lösung ist, da sie auf einem externen Dienst basiert. Natürlich ist er kostenlos, aber man muss eine neue Lösung finden, sobald dieser Dienst ausfällt.
Ich hoffe, du verstehst mich nicht falsch, @michaeld, es ist wirklich eine nette und einfache Lösung, die du anbietest, und ich schätze sie sehr.
Es wäre eine tolle Sache, wenn du während der Standardinstallation entscheiden könntest, nur eine www- oder non-www-Version zu verwenden, um uns das Leben ein wenig zu erleichtern
Obwohl ich es im letzten Monat nicht getestet habe, bin ich mir ziemlich sicher, dass es funktioniert. Wenn Ihr DNS nicht richtig eingerichtet war und Sie es mehrmals ausgeführt haben, wurden Sie einer Ratenbegrenzung unterzogen.
Meinen Sie damit “und ein Zertifikat mit beiden Hostnamen anfordern?” Das ist viel zu schwierig. Die Wahrscheinlichkeit, dass es die Dinge für viele Leute, die nicht wissen, wie man DNS so konfiguriert, kaputt macht, ist sehr, sehr hoch.
Wenn Sie ein Zertifikat sowohl für die Apex- als auch für die www-Version erstellen, sind beide abgedeckt. :smiley Wie Sie angegeben haben, enthält das Zertifikat nicht Ihre Apex-Domain … daher der Fehler.
Ihre Weiterleitungen sollten lauten:
http://example.com → https://example.com
http://www.example.com → https://www.example.com.
Leiten Sie dann https://example.com → https://www.example.com (Ihre angegebene bevorzugte Domain) weiter.
Dann landen Sie, egal ob jemand die Apex-Domain oder die www-Version eingibt, fehlerfrei auf Ihrer https://www.example.com. Es ist bewährte Praxis, sowohl die Apex- als auch die www-Version in Ihr Zertifikat aufzunehmen. Stellen Sie einfach sicher, dass Ihr geändertes/neues Zertifikat von Ihrem Server bereitgestellt wird und nicht das alte.
Ich verstehe. Und jetzt, wo Sie es erwähnen, werde ich mich erinnern – das war der zweite Grund, warum ich Discourse hinter einem „normalen“ Nginx platziert habe. Der erste Grund war die Notwendigkeit, einige Filterungen vorzunehmen. Nun, meine Lösung ist nichts Besonderes oder technisch anspruchsvoll, aber in diesem Kreis nicht sehr beliebt.
Ich muss sagen, Docker ist keine sehr benutzerfreundliche Lösung, wenn eine so triviale Sache über einen Drittanbieter-Webdienst erledigt werden muss. Ansonsten ist Docker wohl sehr nützlich, es sei denn, es wäre nicht so beliebt.
Danke für den Rat @pfaffman. Ich werde es am Wochenende noch einmal versuchen.
Und zum zweiten Thema. Ich verstehe Ihren Punkt, aber dies könnte so etwas wie eine erweiterte Einstellung oder eine optionale Einstellung sein, da es wirklich entscheidend ist, dass derselbe Inhalt nur über eine Domain erreichbar ist.
Eigentlich ist es das nicht (es sei denn, Discourse selbst funktioniert nicht). Aber wenn Sie sich auf SEO und Google beziehen, ist ein solches Subdomain-Problem schon seit langem nicht mehr so ernst. Google kann damit leben, weil es nur eine Domain gibt – eine ist eine stub’ish FQDN und eine mit www ist die echte.