Wie kann ich Benutzern erlauben, ihre eigene Domäne einer Subdomäne auf meiner Cloudfront-Site zuzuordnen?

Wie kann ich Benutzern erlauben, ihre eigene Domäne einer Subdomäne auf meiner Cloudfront-Site zuzuordnen?

Ich betreibe also einen Dienst, bei dem ein Benutzer eine Site erstellen und seine eigene Subdomain erhalten kann. Wenn ein Benutzer also eine Site hat, a-site-namelautet seine Subdomain a-site-name.domain.com. Einige Benutzer möchten ihre eigenen Domains anstelle der Subdomain meiner Domain haben. Ich weiß, dass ich dies mit einem CNAME-Eintrag im DNS tun können sollte (wird also in sub.the-users-domain.comaufgelöst a-site-name.domain.com). Wenn ich dies jedoch versuche, erhalte ich eine 403 von Cloudfront.

Um mein Setup zu beschreiben:

  • Dateien werden von AWS Cloudfront bereitgestellt, wobei ein S3-Bucket als Ursprungspunkt verwendet wird.
  • Jede Site a-site-namewird in einem Ordner im gleichnamigen S3-Bucket gespeichert.
  • Ich habe eine Lambda@Edge-Funktion ausgeführt, sodass immer, wenn eine Anforderung an a-site-name.domain.com/whatever-resource(Platzhalter-Subdomänen) gestellt wird, diese tatsächlich aufgelöst wird und Daten von dort abruft distribution-id.cloudfront.net/a-site-name/whatever-resource.

Ich vermute, dass die Tatsache, dass ich eine 403 erhalte, mit der Konfiguration meiner Cloudfront-Bereitstellung oder mit dieser Lambda@Edge-Funktion zu tun hat. Hat jemand eine Idee, wie man die Konfiguration so ändern kann, dass die Leute einfach einen CNAME-Eintrag verwenden können, um ihre eigenen Domänen zu verwenden? Ehrlich gesagt bin ich ratlos.

verwandte Informationen