Hallo! Ich möchte sicherstellen, dass die www-Subdomain die Benutzer zur eigentlichen Discourse-Installation weiterleitet. Ich bin der Meinung, dass dies erforderlich ist, um keine Besucher zu verlieren. Die meisten Leute lassen das ‘www’ beim Aufruf von Websites nicht weg.
Sie müssen bei Ihrem Registrar in den DNS-Einstellungen einen A-Eintrag für www hinzufügen, der auf die IP-Adresse des Servers zeigt. Dieselbe IP-Adresse, auf die aktuell der A-Eintrag für domain.com verweist.
Wird dies Probleme verursachen, wenn der Benutzer die www-Version aufruft? Discourse ist so eingestellt, dass www nicht enthalten ist.
Nein, denn der Benutzer wird weitergeleitet. Die gleiche Seite wird nicht unter mehreren Domains bereitgestellt.
Du brauchst diese Anleitungen. Ich habe sie für exakt denselben Zweck verwendet:
Meinst du, das Hinzufügen des A-Eintrags für ‘www’ reicht nicht aus? Ich habe die Artikel durchgelesen.
Meine Website würde ohne die Registrierung eines Zertifikats für beide Subdomains eine unangenehme Meldung im Browser anzeigen.
Ich habe Discourse gerade auf einem Digital Ocean Droplet eingerichtet. Erfordert Schritt 2, die Bearbeitung von discourse.conf, dass nginx installiert ist? Ich bin mir nicht sicher, aber ich glaube nicht, dass auf meinem Droplet nginx installiert ist, und ich weiß nicht, wie ich es installieren soll.
Ich denke, dieser Leitfaden erklärt diesen Teil:
https://meta.discourse.org/t/running-other-websites-on-the-same-machine-as-discourse/17247/294
Ja, das Hinzufügen eines A-Eintrags für www, der auf dieselbe IP-Adresse zeigt, reicht aus, um den Datenverkehr umzuleiten.
Sie müssen nichts aus den anderen Anleitungen durchführen; ein A-Eintrag, der auf die IP zeigt, genügt für eine einfache Weiterleitung.
Versuchen Sie, Ihre Installation nicht unnötig zu komplizieren.
Reicht das jedoch aus, um einen Browserfehler NET::ERR_CERT_COMMON_NAME_INVALID zu vermeiden? Wenn ich Discourse auf der www-Subdomain installiere, erhalte ich diesen Fehler beim Zugriff auf die Seite über https://example.com. Es funktioniert nur, wenn man https://www.example.com verwendet.
Deshalb solltest du eine Weiterleitung verwenden, da Discourse nicht von mehreren URLs aus bereitgestellt werden kann.
Wähle eine aus und leite die andere weiter.
Ich habe ein ähnliches Problem, und die Verwendung eines URL-Weiterleitungsdatensatzes auf DNS-Ebene löst das Problem für mich nicht.
Ich habe Discourse mit dem Hostnamen ‘www.example.com’ und den folgenden DNS-Einträgen installiert:
A-Eintrag Host: WWW Wert: meine_Server_IP
CNAME Host: @ Wert: www.example.com
URL-Weiterleitungsdatensatz Host: @ Wert: https://www.example.com
Wenn ich dann SSL Server Test (Powered by Qualys SSL Labs) verwende, um die URL https://example.com ohne WWW zu prüfen, erhalte ich einen Fehler wegen einer Namensabweichung im Zertifikat, und in meinem Browser erscheint der Fehler NET::ERR_CERT_COMMON_NAME_INVALID.
Entschuldigen Sie bitte erneut, falls ich etwas Offensichtliches übersehe – Netzwerke sind nicht gerade meine Stärke!
Deshalb habe ich diese Links gepostet. Ich hätte es gerne so einfach wie eine DNS-Änderung. Für mich sah es auch nicht so einfach aus. Damit es über HTTPS funktioniert, musste ich sicherstellen, dass für beide Adressen ein Zertifikat registriert wurde. Um das zu erreichen, verwenden Sie einen der oben geposteten Anleitungen. Die andere Anleitung ermöglicht es Ihnen, eine Weiterleitung durchzuführen.
Es ist sehr unwahrscheinlich, dass Benutzer beim Eingeben einer URL das Protokoll angeben. Wenn Sie sich darüber wirklich Sorgen machen, können Sie einfach Cloudflare für DNS und eine einfache Seitenregel verwenden.
Ja, ich habe meine Domain ‘verschoben’ (ich habe mich einfach dafür entschieden, das www wegzulassen), weshalb ich bestehende Links auf Websites, über die ich keine Kontrolle habe, die auf meine alte Domain verwiesen, mit https ausliefern musste. Das könnte erklären, warum ich in meinem Fall keine andere Wahl hatte, als die vollständige Umsetzung vorzunehmen.
Was ich also verstehe, ist: Wenn es dir reicht, dass jemand einfach www.example.com eingibt und dies auf https://example.com weitergeleitet wird, dann ist dafür nur eine DNS-Änderung erforderlich?
Wenn du jedoch aus irgendeinem Grund möchtest, dass https://www.example.com funktioniert (in meinem Fall war das so, da solche Links bereits ‘im Umlauf’ waren), musst du die bereitgestellten Anleitungen befolgen.
Oder verwenden Sie einfach eine Seitenregel, wie oben beschrieben. Sie stellt das Domain-Fronting mit einem Wildcard-Zertifikat bereit und leitet den Datenverkehr nahtlos um.
Das alles ohne zusätzliche Komplexität auf dem Discourse-Server.
Was ist eine Page Rule?
Ich plane, How To Install Discourse Behind Nginx on Ubuntu 14.04 | DigitalOcean zu befolgen, um Nginx auf meinem DigitalOcean-Droplet zu installieren und dann die in „Schritt 2
@Erik_Manger, DNS-basierte Lösungen haben bei mir mit SSL nicht funktioniert. Ich habe den ersten von @merefield bereitgestellten Link verwendet, und er funktioniert gut.
Mussten Sie Nginx vor Discourse installieren, damit dies funktioniert? Auf meinem Digital Ocean Droplet existiert der Pfad “/etc/nginx/”, der in den zusätzlichen Hooks verwendet wird, nicht.