wordpressをcloudfrontでキャッシュさせるときのデフォルトビヘイビア設定

デフォルトのキャッシュビヘイビア設定は以下の通り

・ビューワープロトコルポリシーはhttp -> httpsリダイレクトをするように「Redirect HTTP to HTTPS」を選択

・許可された HTTP メソッドは「GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE」を選択

・キャッシュキーとオリジンリクエストは、「Leagacy cache settings」を選択し、ヘッダー「Host, CloudFront-Forwarded-Proto」、クエリ文字列「すべて」、cookie「指定されたcookieを含める」→許可に「wordpress_logged_in*」を入力

ヘッダーは、Origin側にアクセス先のホストを通知するのに「Host」を使い、HTTPSの判定で「CloudFront-Forwarded-Proto」を使う。クエリ文字列は、検索やコメント、ページ遷移でつかうので含めないとうまく動かない場合はある。

  1. クエリパラメータでページ遷移してる場合は、「{ドメイン}/?p=1」でアクセスしてもキャッシュされるのは「{ドメイン}/」になるので、記事ページが表示されずに、記事をクリックしてもキャッシュされている「{ドメイン}/」が返却され、トップページが表示されることになる。
  2. SiteGuadeのプラグインを使っている場合は、クエリ文字列を含めないと、ログアウトしてもログイン状態が保持される状態になる。

・cookieは、ユーザが記事を表示するには必要ないが、管理画面にログインしているかをcookieの「wordpress_logged_in*」をみて判定しているので、含めないと管理画面にログインできなくなる。

・その他はデフォルトでOK

・管理画面(wp-admin)をキャッシュしないようにする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です