2014-09-08 6 views
6

Ich führe meine Parse-App auf einer nackten Domain. Parse macht mir das Leben allerdings nicht einfach.https hosting auf der Stammdomäne

Zuerst habe ich Probleme damit, es einzurichten, da die meisten DNS-Hosting-Dienste CNAMEs in der Stammdomäne nicht zulassen und Parse einen CNAME benötigt.

Entschieden, um es mit CloudFlare CNAME Flattening auszuprobieren, und es funktionierte schließlich durch Einrichten des CNAME unter [Hostname Schlüssel] .example.com. Parse würde es mir nicht erlauben, es ohne den Hostnamenschlüssel einzurichten, weil example.com kein echter CNAME war (er wird von CloudFlare in einen A-Datensatz unter dem Holz übersetzt).

Aber ich möchte meine Website unter HTTPS ausführen, also habe ich ein Zertifikat registriert, das sowohl für "https: // example.com" als auch für "https: // www.example.com" gültig ist.

Wieder Pars macht es nicht einfach. Zuerst hat es mein Zertifikat nicht akzeptiert, weil der Hostname nicht übereinstimmen würde. Ich dachte, dass es vielleicht versuchte, es mit der Unterdomäne des Zertifikats (www.example.com) zu vergleichen, und das würde nicht mit meiner Anwendungsdomäne (example.com) übereinstimmen.

Ich habe einen weiteren CNAME unter [hostname key] .www.example.com erstellt, der auf meine parseapp.com-URL verweist (wollte nicht www.domain.com ändern, da er bereits auf einen anderen Dienst verweist, der zur Domäne weiterleitet). com), änderte meinen App-Hostnamen zu www.example.com und es nahm schließlich mein Zertifikat an! Yeahhh!

Die App Hostname zurück zu example.com geändert und versucht, im Browser darauf zuzugreifen, aber es dauert ewig zu laden und endet fehlgeschlagen. Wenn ich meine App so ändere, dass sie auf "https: // www.example.com" ausgeführt wird (sichere Site mit der www-Subdomain), dann funktioniert das problemlos.

So kann ich meine App in http://example.com (nicht sicher, ohne www) oder "https: // www.example.com" (sicher mit www) ausführen.

Warum macht es Parse so schwierig, eine App auf der Stammdomäne auszuführen?

Gibt es etwas, was ich tun muss, um eine sichere App in der Stammdomäne ausführen zu können?

+1

Haben Sie das gelöst? – Claes

Antwort

1

Die meisten Webservices sind heutzutage auf die Idee von CNAMEs ausgerichtet: Sie stellen Ihnen einen CNAME zur Verfügung, und Sie sollten Ihren Hostnamen mit diesem Namen versehen.

Wie Sie jedoch angemerkt haben, unterliegt der CNAME bestimmten Einschränkungen durch das RFC des DNS-Protokolls und kann nicht zum Zuordnen einer Apex-Domäne verwendet werden.

Einige DNS-Unternehmen, z. B. DNSimple oder DNS Made Easy, stellen einen CNAME-ähnlichen Datensatztyp bereit, mit dem die Stammdomäne einem von einem Cloud-Dienst bereitgestellten Hostnamen zugeordnet werden kann. Die Verwendung dieser Dienste erleichtert auch die Konfiguration eines SSL-Zertifikats.

Apropos SSL-Zertifikate, achten Sie darauf, dass beim Kauf eines Einzelnamenszertifikats für example.com oder www.example.com nur für diesen bestimmten Hostnamen gültig ist. Die meisten Zertifizierungsstellen enthalten auch die entsprechende Apex-Domäne, wenn Sie www.example.com erwerben, aber Sie müssen dies bei Ihrem SSL-Zertifikatanbieter überprüfen.

Last but not least hängt die Möglichkeit, HTTP auf HTTPS-Verkehr umzuleiten, wirklich von Ihrem Dienstanbieter ab, in diesem Fall parse.com. Leider ist es nicht ungewöhnlich, dass diese Dienste HTTPS nicht erzwingen. Heroku macht derzeit dasselbe, sie zwingen HTTP nicht zu HTTPS, wenn Sie HTTPS aktivieren.

Sie sollten mit ihnen überprüfen, ob es eine Möglichkeit gibt, eine solche Weiterleitung anzuwenden, da sie nur auf Server- oder App-Ebene angewendet werden kann. Sie können die Weiterleitung beispielsweise nicht auf DNS-Ebene anwenden.