
私はWordpressサイトをセットアップしておりsite.example.com
、オリジンサーバーへの負荷を軽減するためにCloudFrontディストリビューションをリバースプロキシとして構成しようとしています。
過去にクラウドを使ったことがあるフレア構成は非常に簡単でした。CloudFlare はオリジン サーバーの IP アドレスを認識していたため、SNI とともにその IP アドレスにリクエストを送信するだけで、リクエストは正しい場所に届きました。
例えば
site.example.com@[CloudFlare IP Address] -> CloudFlare -> site.example.com@[Origin IP Address]
しかし、クラウドはフロント動作が少し異なり、オリジンサーバーはIPアドレスではなくドメイン名である必要があるため、DNSをsite.example.com
CloudFrontディストリビューションのドメイン名を指すように変更すると、CloudFrontはオリジンにアクセスできなくなります。
通常の Web サーバーでこの問題を解決するには、2 番目の DNS レコードを作成します。たとえばcf-site.example.com
、Web サーバーで、site.example.com
CloudFront が Origin にアクセスできるように同じコンテンツを提供するように構成しcf-site.example.com
、顧客が通常どおりサイトにアクセスできるようにします。
ただし、Wordpress では、cf-site.example.com のサイトにアクセスするとすぐにこれを実行しようとすると、この名前がサイト アドレスと一致しないことがわかり、すぐに 301 が返されて、この場合はサイト アドレスにリダイレクトされますsite.example.com
。これにより、無限ループが発生し、サイトが壊れます。
CloudFrontをWordpressで使用する方法については、オンラインでたくさんのガイドを見つけたので、それは可能であるはずです。私が何か明らかなことを見逃しているだけだと思います。
ありがとう
答え1
この問題は、ホスト ヘッダーを Origin に転送することで解決できます。そのための動作設定があります。選択されたリクエストヘッダーに基づくキャッシュ