2016-08-04 32 views
1

Ich habe ein automatisches Github-Repository für Heroku bereitgestellt. Grundsätzlich möchte ich alle statischen Dateien im Repository mithilfe von Amazon Cloudfront CDN bereitstellen. Muss ich mein GitHub-Repository zu Amazon S3 abrufen und die CDN-bereitgestellten Dateien abrufen, während mein Repository automatisch für Heroku bereitgestellt wird ..Wie JS-Dateien, die im Github-Repository gespeichert sind, in Heroku bereitgestellt werden, das über Amazon CDN bereitgestellt wird

Gerade jetzt alle statischen Vermögenswerte von Heroku bedient werden, da es keine CDN ab sofort beteiligt ist ..

ich die statischen Dateien über CDN dienen wollen, während immer noch die auto deploy-Funktion von Heroku Halte ...

Wie kann ich die oben genannten Funktionen erreichen?

Muss ich die statischen Assets einzeln in S3 hochladen?

+0

Zeigen Sie CloudFront einfach auf Ihre Heroku-URL. – ceejayoz

Antwort

0

Sie müssen einen CloudFront Origin erstellen und dann den DNS für Ihre Website so aktualisieren, dass ein CNAME-Datensatz anstelle Ihrer Heroku-Anwendung auf Ihren CloudFront-Ursprung verweist.

Also, sagen wir mal Ihre Heroku App heißt: my-app.

Dies bedeutet, dass, wenn Sie Ihre App auf Heroku sehen zu können, zu http://my-app.herokuapp.com

gehen Wenn Sie dann eine Cloudfront Herkunft erstellen und an my-app.herokuapp.com zeigen Sie eine neue Domain Cloudfront erhalten . So etwas wie myid.cloudfront.net

Also, was Sie als nächstes tun können ist Update der DNS für Ihre Website (www.my-app.com) an und erstellen einen CNAME-Eintrag, so dass

www.my-App .com -> my-id.cloudfront.net

Dadurch werden alle Anfragen an Ihre Website zuerst durch CloudFront gehen - auf diese Weise wird das CloudFront CDN eine Chance haben, Ihre statischen Assets richtig zwischenzuspeichern und danach zu beschleunigen erste Anfrage

Sie können CloudFront dann konfigurieren, um die Cachezeiten für diese Assets festzulegen.