設定Fastly服務
雲端基礎結構測試和生產環境上的Adobe Commerce需要Fastly。
Fastly與Varnish合作,提供快速快取功能以及用於靜態資產的內容傳遞網路(CDN)。 Fastly還提供網站應用程式防火牆(WAF),以保護您的網站和雲端基礎結構。 為了保護您的網站和雲端基礎結構免受惡意流量和攻擊,請透過Fastly路由所有傳入的網站流量。
請完成下列步驟,在網站開發程式早期啟用、設定和測試Fastly,以啟用對網站的安全存取。
- 取得測試和生產環境的Fastly認證
- 啟用Fastly CDN快取
- 上傳Fastly VCL片段
- 更新DNS設定以將流量路由到Fastly服務
- 測試Fastly快取
取得Fastly認證
在專案布建期間,Adobe會將您的專案新增至雲端基礎結構上Adobe Commerce的Fastly服務帳戶,並為Starter master
和Pro Staging及生產環境建立Fastly帳戶認證。 每個環境都有獨特的認證。
您需要Fastly認證才能從管理員設定Fastly CDN服務並提交Fastly API請求。
使用以下方法為您的環境尋找並儲存Fastly服務ID和API權杖:
檢視您的Fastly認證:
Pro和Starter專案的檢視認證方法不同。
-
IaaS掛載的共用目錄 — 在Pro專案上,使用SSH連線至您的伺服器並從
/mnt/shared/fastly_tokens.txt
檔案取得Fastly認證。 測試和生產環境都有獨特的認證。 您必須取得每個環境的認證。 -
本機工作區 — 從命令列,使用
magento-cloud
CLI至清單並檢閱 Fastly環境變數。code language-bash magento-cloud variable:get -e <environment-ID>
-
Cloud Console — 檢查環境組態中的下列環境變數。
-
CONFIG__DEFAULT__SYSTEM__FULL_PAGE_CACHE__FASTLY__FASTLY_API_KEY
-
CONFIG__DEFAULT__SYSTEM__FULL_PAGE_CACHE__FASTLY__FASTLY_SERVICE_ID
-
啟用Fastly快取
您需要以下元件來啟用和設定Fastly服務:
若要在Staging和Production中啟用Fastly CDN快取:
測試Fastly認證
-
在管理員上,瀏覽至 商店 >設定> 設定 > 進階 > 系統 > 快速設定。
-
如有需要,請為您的專案環境新增 Fastly服務ID 和 API權杖 值。
note note NOTE 請勿選取連結來建立Fastly API權杖。 請改用Adobe提供的Adobe🔗提供的Fastly認證(服務ID和API權杖)。 -
按一下 測試認證。
-
如果測試成功,請按一下 儲存組態,然後清除快取。
如果測試失敗,請確認正確的服務ID和API權杖值符合目前環境的認證。
如果測試再次失敗,請提交Adobe Commerce支援票證或聯絡您的Adobe客戶代表。 對於Pro專案,請包含生產及測試網站的URL。 對於入門專案,包含您的
Master
和測試網站的URL。
將VCL上傳到Fastly
啟用Fastly模組後,將預設VCL代碼上傳到Fastly伺服器。 此程式碼提供一系列VCL程式碼片段,這些程式碼會指定組態設定,以啟用雲端基礎結構上Adobe Commerce的快取和其他Fastly CDN服務。
若要上傳Fastly VCL:
-
在 Fastly組態 區段中,按一下 將VCL上傳至Fastly,如下圖所示。
-
上傳完成後,請根據頁面頂端的通知重新整理快取。
布建SSL/TLS憑證
Adobe提供網域驗證讓我們加密SSL/TLS憑證以提供來自Fastly的安全HTTPS流量。 Adobe會為每個Pro生產、測試和入門生產環境提供一個憑證,以保護該環境中的所有網域。 如需所提供憑證的詳細資訊,請參閱雲端基礎結構上Adobe Commerce的AdobeSSL (TLS)憑證。
若要為Adobe Commerce環境啟用SSL/TLS憑證,Adobe自動化會完成下列步驟:
- 驗證網域擁有權
- 布建Let's Encrypt SSL/TLS憑證,涵蓋商店的指定頂層和子網域
- 在網站上線時將憑證上傳到雲端環境
此自動化需要您更新網站的DNS設定,以提供網域驗證資訊。 使用下列方法中的 one:
- DNS驗證 — 對於已上線的網站,請以指向Fastly服務的CNAME記錄更新您的DNS設定
- ACME挑戰CNAME記錄 — 使用Adobe針對您環境中的每個網域提供的ACME挑戰CNAME記錄更新您的DNS設定
網域驗證完成後,Adobe會布建「讓我們加密TLS/SSL」憑證,並將其上傳至即時中繼或生產環境。 此程式最多可能需要12小時的時間。 我們建議您提前幾天完成DNS設定更新,以防止網站開發和網站啟動延遲。
使用開發設定更新DNS設定
在初始Fastly設定流程中,您可以使用以下URL來設定和測試Staging和生產環境中的Fastly快取:
-
對於Pro測試與生產:
mcprod.<your-domain>.com
mcstaging.<your-domain>.com
-
僅供入門級生產使用:
mcprod.<your-domain>.com
布建專案後,即可使用這些預設的生產前URL。 "your-domain"
的值是您在入門流程中指定的網域名稱。
若要將流量從您的商店URL路由到Fastly服務,請更新您的DNS設定。 當您更新設定時,Adobe會自動布建必要的SSL/TLS憑證,並將其上傳到您的雲端環境。 此布建最多可能需要12小時的時間。
必要條件:
若要更新您用於開發的DNS設定:
-
透過新增CNAME記錄:
prod.magentocloud.map.fastly.net
將預生產URL指向Fastly服務,例如:table 0-row-2 1-row-2 2-row-2 網域或子網域 CNAME mcprod.your-domain.com prod.magentocloud.map.fastly.net mcstaging.your-domain.com prod.magentocloud.map.fastly.net 當CNAME記錄上線時,Adobe會布建憑證並上傳SSL/TLS憑證。
note note NOTE 如果您計畫將Apex網域( your-domain.com
)用於您的生產網站,您必須設定DNS位址記錄(A記錄)以指向Fastly伺服器IP位址。 請參閱使用生產設定更新DNS設定。 -
新增ACME挑戰CNAME記錄以進行網域驗證和生產SSL/TLS憑證的預先布建,例如:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 網域或子網域 CNAME _acme-challenge.your-domain.com 0123456789abcdef.validation.magento.cloud _acme-challenge.www.your-domain.com 9573186429stuvwx.validation.magento.com _acme-challenge.mystore.your-domain.com 1234567898zxywvu.validation.magento.cloud _acme-challenge.subdomain.your-domain.com 1098765743lmnopq.validation.magento.cloud note note NOTE 此範例中的ACME挑戰記錄為預留位置,目的並非布建您的Adobe Commerce預備和生產網站。 連絡Adobe以取得您專案的正確ACME挑戰記錄資訊。 新增CNAME記錄後,Adobe會驗證網域並為環境布建SSL/TLS憑證。 當您更新DNS設定以將流量從這些網域路由到Fastly服務時,Adobe會將憑證上傳到環境。
-
更新Adobe Commerce基底URL。
-
使用SSH登入生產環境。
code language-bash magento-cloud ssh
-
使用Cloud CLI變更商店的基本URL。
code language-bash php bin/magento setup:store-config:set --base-url="https://mcstaging.your-domain.com/"
note note NOTE 除了使用Cloud CLI之外,您也可以從管理員更新基底URL -
-
重新啟動網頁瀏覽器。
-
測試您的網站。
測試Fastly快取
完成DNS設定變更後,請使用cURL命令列工具來驗證Fastly快取是否正常運作。
若要檢查回應標頭:
-
在終端機中,使用下列
curl
命令測試您的即時網站URL:code language-bash curl -vo /dev/null -H Fastly-Debug:1 https://<live-URL>
如果您尚未設定靜態路由或完成線上站台上網域的DNS設定,請使用繞過DNS名稱解析的
--resolve
旗標。code language-bash curl -vo /dev/null -H Fastly-Debug:1 --resolve <live-URL-hostname>:443:<live-IP-address>
-
在回應中,驗證標頭以確保Fastly正常運作。 您應該會在回應中看到下列不重複標題:
code language-http < Fastly-Magento-VCL-Uploaded: yes < X-Cache: HIT, MISS
如果標頭沒有正確的值,請參閱解決回應標頭中發現的錯誤以取得疑難排解說明。
升級Fastly模組
Fastly更新Magento2模組的Fastly CDN以解決問題、提高效能並提供新功能。
我們建議您更新測試和生產環境中的Fastly模組至最新版本。
更新模組後,您必須上傳VCL程式碼以將變更套用至Fastly服務組態。
若要檢查Magento2 的Fastly CDN模組版本:
-
變更至雲端環境的根目錄。
-
使用Composer檢查安裝的版本。
code language-bash composer show *fastly*
-
如果未安裝最新版本,請完成升級Fastly模組的步驟。
若要升級Fastly模組:
-
在您的本機整合環境中,使用以下模組資訊來升級Fastly模組。
code language-text module name: fastly/magento2 repository: https://github.com/fastly/fastly-magento2.git
-
將更新推送至測試環境。
-
登入您的測試環境的Admin以上傳VCL代碼。
-
在Adobe Commerce測試網站上驗證Fastly服務。
在測試網站上驗證Fastly服務後,在生產環境中重複升級過程。