
Ich habe eine Wordpress-Site unter eingerichtet site.example.com
und versuche, eine CloudFront-Verteilung als Reverse-Proxy zu konfigurieren, um die Belastung meines Ursprungsservers zu verringern.
In der Vergangenheit habe ich Cloud verwendetFackelund die Konfiguration war sehr unkompliziert, da CloudFlare die IP-Adresse des Ursprungsservers kannte, konnte es einfach Anfragen zusammen mit SNI an diese IP-Adresse senden und die Anfragen gelangten an den richtigen Ort.
z.B
site.example.com@[CloudFlare IP Address] -> CloudFlare -> site.example.com@[Origin IP Address]
Allerdings scheint es CloudVorderseitefunktioniert etwas anders, es erwartet, dass der Ursprungsserver ein Domänenname und keine IP-Adresse ist, daher vermute ich, dass site.example.com
CloudFront nicht mehr auf den Ursprung zugreifen kann, sobald ich meinen DNS so ändere, dass er auf den Domänennamen meiner CloudFront-Distribution verweist, da dieser auf sich selbst verweist
Um dies nun in einem gewöhnlichen Webserver zu umgehen, würde ich beispielsweise einfach einen zweiten DNS-Eintrag erstellen cf-site.example.com
und diesen auf dem Webserver so konfigurieren, dass er denselben Inhalt bereitstellt, unter site.example.com
dem CloudFront dann auf den Ursprung zugreifen könnte, cf-site.example.com
und meine Kunden würden wie gewohnt auf die Site zugreifen.
Wenn Sie dies jedoch mit Wordpress versuchen, wird beim Zugriff auf die Site unter cf-site.example.com festgestellt, dass dieser Name nicht mit der Site-Adresse übereinstimmt, und sofort eine 301-Antwort zurückgegeben, die Sie zur Site-Adresse weiterleitet, in diesem Fall site.example.com
. Dies führt zu einer Endlosschleife und bricht die Site ab.
Ich habe online viele Anleitungen zur Verwendung von CloudFront mit Wordpress gefunden, es muss also möglich sein, und ich vermute, ich übersehe einfach etwas Offensichtliches
Danke
Antwort1
Das Problem kann behoben werden, indem die Host-Header an den Ursprung weitergeleitet werden. Hierfür gibt es eine Verhaltenseinstellung:Cache basierend auf ausgewählten Anforderungsheadern