建立 CloudFront 分佈
透過遵循分佈建立 CloudFront Web 分佈,自動建立的預設來源和行為將用於動態內容。建立四個額外的行為,以進一步自訂處理靜態和動態請求的方式。下表彙總五個行為的組態屬性。您也可以略過此手動組態,並使用附錄 B:外掛程式安裝和組態中涵蓋的適用於 AWS 的 WordPress 外掛程式,這是設定 CloudFront 以加速您的 WordPress 網站的最簡單方法。
表 1:CloudFront 行為的組態屬性摘要
屬性 | 靜態 | 動態 (管理) | 動態 (前端) |
---|---|---|---|
路徑 (行為) |
|
|
預設 (* ) |
通訊協定 | HTTP 和 HTTPS | 重新引導至 HTTPS | HTTP 和 HTTPS |
HTTP 方法 | GET、HEAD | ALL | ALL |
HTTP 標頭 | NONE | ALL |
Host CloudFront-Forwarded-Proto CloudFront-Is-Mobile-Viewer CloudFront-Is-Tablet-Viewer CloudFront-Is-Desktop-Viewer |
Cookie | NONE | ALL |
comment_* wordpress_* wp-settings-* |
查詢字串 | 是 (失效) | 是 | 是 |
對於預設行為,AWS 建議使用以下組態:
-
允許來源通訊協定政策到比對檢視器,以便如果檢視者使用 HTTPS 連線到 CloudFront,CloudFront 也會使用 HTTPS 連線到您的來源,實現端到端加密。請注意,這需要您在負載平衡器上安裝受信任的 SSL 憑證。如需詳細資訊,請參閱 CloudFront 與自訂原始伺服器之間的通訊需要 HTTPS。
-
允許所有 HTTP 方法,因為網站的動態部分同時需要 GET 和 POST 請求 (例如,為支援註解提交表單的 POST)。
-
只轉送會隨著 WordPress 輸出變更的 Cookie;例如
>wordpress_*
、wp-settings-*
和comment_*
。如果您安裝依賴於不在清單中的其他 cookie 的任何外掛程式,則必須延伸該清單。 -
僅轉送會影響 WordPress 輸出的 HTTP 標頭,例如
Host
、CloudFront-Forwarded-Proto
、CloudFront-is-Desktop-Viewer
、CloudFront-is-Mobile-Viewer
、和CloudFront-is-Tablet-Viewer
:-
Host
允許將多個 WordPress 網站託管在相同來源。 -
CloudFront-Forwarded-Proto
允許快取不同版本的頁面,取決於它們是透過 HTTP 還是 HTTPS 存取。 -
CloudFront-is-Desktop-Viewer
、CloudFront-is-Mobile-Viewer
、CloudFront-is-Tablet-Viewer
允許您根據最終使用者的裝置類型自訂佈景主題的輸出。
-
-
根據所有查詢字串的值將其轉送到快取,因為 WordPress 依賴於這些字串,它們也可以用來使快取的物件失效。
如果您希望使用自訂網域名稱 (即不是 *.cloudfront.net
) 為您的網站提供服務,請在「分佈設定」中的備用網域名稱下輸入適當的 URI。在此情況下,您還需要您的自訂網域名稱的 SSL 憑證。您可以透過 AWS Certificate Manager 請求 SSL 憑證,並根據 CloudFront 分佈對其進行設定。
現在,為動態內容建立另外兩個快取行為:一個用於登入頁面 (路徑模式:wp-login.php
),另一個用於管理儀表板 (路徑模式:wp-admin/*
)。這兩種行為具有完全相同的設定,如下所示:
-
強制執行僅限 HTTPS 的檢視器通訊協定政策。
-
允許所有 HTTP 方法。
-
根據所有 HTTP 標頭快取。
-
轉送所有 cookie。
-
根據所有查詢字串轉送和快取。
此組態背後的原因是,網站的此區段為高度個人化,且通常只有一些使用者,因此快取效率不是主要的考量。重點是保持組態簡單,以透過將所有 cookie 和標頭傳遞至來源,以確保與任何已安裝外掛程式的最大相容性。
附錄 B 中涵蓋的 AWS for WordPress 外掛程式會自動建立符合前述組態的 CloudFront 分佈。
預設情況下,WordPress 會將所有內容存放在 Web 伺服器本機,這是用於單一伺服器部署的區塊儲存 (Amazon EBS),和用於彈性部署的檔案儲存 (Amazon EFS)。除了降低儲存和資料傳輸成本,將靜態資產移至 Amazon S3 提供可擴展性、資料可用性、安全性和效能。有數個外掛程式可讓您輕鬆將靜態內容移動到 Amazon S3;其中一個是 W3 總快取