Wir haben eine Drupal7-basierte E-Commerce-Website, die ich in AWS zu hosten versuche. Ich frage mich, ob AWS CloudFront sowohl für statische als auch für dynamische Inhalte verwendet werden kann. Vielleicht zwei Ursprünge oder so etwas? Nur eine wilde Vermutung. Der Grund, CDN zu verwenden, ist, unsere js, css und Bilder zu dienen. Die Dateien werden in EFS gespeichert. Ich habe mich nicht für S3 entschieden, da ich es umständlich finde und ich ein weiteres S3FS-Modul auf Drupal benötige und es konfiguriere. Kurz gesagt, wollte einfach nicht so gehen. Außerdem hat meine Region keine EFS, also musste ich die Seite in Irland hosten und brauche daher CDN. Ist es dennoch möglich, sowohl statische als auch dynamische Inhalte von CloudFront zu liefern?Kann AWS CloudFront sowohl dynamische als auch statische Inhalte bereitstellen?
Eine andere Frage ist, unterstützt CloudFront selbstsigniertes Zertifikat? Während des Tests hatte ich eine Testdomäne mit einem selbstsignierten Zertifikat erstellt, aber wenn ich sie an CloudFront füttere, wird ein Fehler ausgegeben. Ich denke, es ist nicht möglich, selbstsigniert zu verwenden, oder?
PS. Ich hatte die Route53 Punkt Cloudfront DNS
Aktualisiert
Lassen Sie mich die ganze Schritte erläutern, die ich durchgeführt:
Added die selbst signiertes Zertifikat Chrom und mein System, jetzt habe ich sehe keine Seite, auf der steht, dass es unsicher ist ... also alles gut bis hier. enter image description here
eine Cloudfront mit folgenden Einstellungen erstellt:
Allgemeine
Distribution ID E2RDLVLNKPEXQ9
ARN arn:aws:cloudfront::xxxx:distribution/E2RDLVLNKPEXQ9
Delivery Method Web
Cookie Logging Off
Distribution Status Deployed
Price Class Use All Edge Locations (Best Performance)
State Enabled
Alternate Domain Names (CNAMEs)
*.kiirana11.com
SSL Certificate Default CloudFront Certificate (*.cloudfront.net)
Domain Name xxxx.cloudfront.net
Custom SSL Client Support -
Supported HTTP Versions HTTP/2, HTTP/1.1, HTTP/1.0
IPv6 Enabled
Last Modified 2017-02-24 09:41 UTC+5:30
Herkunft
Origin Domain Name
xxxxelb-1927396229.eu-west-1.elb.amazonaws.com
Origin ID
PPRD-kirana11elb
Origin SSL Protocols
TLSv1.2
TLSv1.1
TLSv1
SSLv3
Origin Protocol Policy
HTTP Only
HTTPS Only
Match Viewer
HTTP Port
80
HTTPS Port
443
Verhalten
Path Pattern
Default (*)
Origin
PPRD-kirana11elb
Viewer Protocol Policy
HTTP and HTTPS
Allowed HTTP Methods
GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
Cached HTTP Methods
GET, HEAD +OPTIONS
Forward Headers
Whitelist
Whitelist Headers
CloudFront-Forwarded-Proto
Host
Object Caching
Use Origin Cache Headers
Minimum TTL
0
Maximum TTL
31536000
Default TTL
86400
Forward Cookies
All
Query String Forwarding and Caching
Forward all, cache based on all
Smooth Streaming
No
Restrict Viewer Access
No
Compress Objects Automatically
No
Cloudfront Aktueller Stand und
Loaded in Cloudfront Route53 Eingesetzt aktiviert. Aus irgendeinem Grund wird es nicht automatisch für einen Namen gelaunt, ich musste den Cloudfront-DNS-Namen zwingend eingeben.
installiert Drupal CDN Modul
Modus als "Origin Pull" gesetzt ist, CDN-Mapping hat Cloudfront URL mit https
beginnt nun das Problem:
[[email protected] ec2-user]# curl https://xxxx.cloudfront.net
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
CloudFront wasn't able to connect to the origin.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: Fvf4qfAwuzBRS4J_SA6p1I-UYnvqSuZxdvXV1E6HuGEMGOxWPeORsQ==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>You have new mail in /var/spool/mail/ec2-user
[[email protected] ec2-user]# curl -Ik https://website.com
HTTP/1.1 200 OK
Cache-Control: no-cache, must-revalidate
Content-Language: en
Content-Type: text/html; charset=utf-8
Date: Fri, 24 Feb 2017 05:50:46 GMT
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Server: Apache/2.4.25 (Amazon) OpenSSL/1.0.1k-fips mod_fcgid/2.3.9
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Generator: Drupal 7 (http://drupal.org)
X-UA-Compatible: IE=edge,chrome=1
Connection: keep-alive
Das gesamte Sie ist mit CDN bonkeriert worden, das ist, was ich sehe
Wenn ich CDN-Modul deaktivieren, ist alles gut aus der Sicht der Website Perspektive.
Sie haben hier mindestens zwei Fragen. Die Antwort auf die erste - wie geschrieben - sollte aus einer Suche von Google oder Stack Overflow offensichtlich sein, also frage ich mich, ob Sie tatsächlich ein Problem haben, das Sie nicht mit statischen + dynamischen erwähnen, und stattdessen fragen, ob es ist möglich." Die zweite Frage nach dem Zertifikat benötigt Details. CloudFront unterstützt dies * nicht * nur beim Ursprung, nur bei der Verteilung. –
@ Michael-sqlbot Kasse mein aktualisierten Beitrag –
Verwenden Sie nicht '-k' mit Curl. Das ist ein Alias für "--insecure", der ungültige oder nicht vertrauenswürdige SSL-Konfigurationen ignoriert. Wenn Sie diese Option verwenden müssen, bedeutet dies natürlich, dass Ihre SSL-Konfiguration ungültig ist und der Fehler 502 genau das ist, was CloudFront in diesem Fall * erwarten würde. CloudFront lässt keine unsicheren Verbindungen zum Ursprung zu. Ich habe eine möglicherweise ähnliche Fehlkonfiguration in [diese Antwort auf Serverfehler] (http://serverfault.com/a/779723/153161) angesprochen. –