練習 - 測試 Front Door 和 WAF 原則

已完成

最後一個步驟是測試 Front Door 環境,並確認路由規則是否已正確設定為導向 Web 流量。 我們也需要測試來源網頁伺服器的可用性,以及測試當伺服器關閉時,是否仍可存取快取的內容。

測試車輛登記 Web 應用程式的流量散發

  1. 在 Cloud Shell 中,執行下列命令來產生您 Front Door 端點的 URL。

    echo https://$(az afd endpoint show \
        --profile-name vehicleFrontDoor \
        --endpoint-name $endpoint \
        --resource-group $RG \
        --query hostName \
        --output tsv)
    
  2. 使用網頁瀏覽器,以先前命令所傳回的 URL 瀏覽該網站。 此 URL 是您在 Front Door 設定檔中建立的端點位址。 確認車輛登記 Web 應用程式的首頁會出現。 請注意,網頁伺服器的名稱會顯示在頁面上,讓您知道哪個執行個體正在提供您的要求。

    Screenshot of web server 1 responding to web browser request.

  3. 在鍵盤上按幾次 F5 來重新整理瀏覽器。 請注意,在 webServer1webServer2 之間來回變更的伺服器名稱。 這兩部網頁伺服器都位於相同的區域,而且有類似的延遲。 因此,這兩部伺服器有同等機會處理您的要求。

    Screenshot of web server 2 responding to web browser request.

測試路由

現在讓我們測試路由設定至每個網站的路由。 您已設定符合 /VehicleRegistration//VehicleRegistration/* 以移至網頁伺服器私人端點的路由。 針對符合 /LicenseRenewal//LicenseRenewal/* 的要求,您已將這些要求路由傳送至 App Service。 在此實驗室中,您的 Azure Front Door 與來源資源之間的通訊是私人的,因為您是使用 Private Link 服務來建立連線能力。

  1. 若要測試路由傳送至車輛登記網站的其他頁面,請選取 [登記車輛]

    Screenshot of web server 1 register a vehicle link.

  2. 請注意,URL 已變更為包含路徑 /VehicleRegistration/Create。 由於我們有一個 /VehicleRegistration/*比對模式,因此萬用字元會比對 / 之後的任何項目,並且會路由傳送至裝載車輛登記網站的網頁伺服器。

    Screenshot of vehicle registration page.

  3. 接下來,讓我們測試路由傳送至授權更新網站。 將路徑從 /VehicleRegistration/Create 變更為 /LicenseRenewal/。 此路徑會路由傳送至 App Service 來源。

    Screenshot of license renewal home page.

  4. 選取 [更新授權] 以查看 /LicenseRenewal/Create 的路徑變更。 如同車輛登記的路由,有一個 /LicenseRenewal/* 的比對模式具有萬用字元可比對 / 之後的任何項目,並將該流量導向至 App Service。

    Screenshot of renew a license page.

您可以利用此設定,透過 Front Door 將使用者導向這兩個網站。 您可以設定可輕鬆記住的自訂網域,並將使用者導向符合其需求的正確頁面。 您可以利用 Front Door 進行擴充,以裝載多個網站、啟用快取以改善靜態資源的效能,以及提供高可調整且可用的 Web 應用程式。

測試安全性原則

  1. 下載並安裝適用於 Windows 的 Go。 在安裝期間使用所有預設設定。 您需要 Go 才能執行 GoTestWAF 應用程式。

  2. 下載並安裝適用於 Windows 的 Git。 在安裝期間使用所有預設設定。 您需要 Git 才能將 gotestwaf 存放庫複製到本機電腦。

  3. 安裝適用於 Windows 的 Go 和 Git 之後,請開啟 [Git Bash] 並執行 git clone https://github.com/wallarm/gotestwaf.git,以將 GoTestWAF 檔案下載到本機電腦。

    Screenshot of cloning the gotestwaf repository with Git.

  4. 使用 cd gotestwaf 命令將目錄變更為 gotestwaf 資料夾。

    Screenshot of changing directory to gotestwaf folder with Git.

  5. 現在請執行下列命令來測試安全性原則是否可正常運作。 將 `<EVALUATE_SECURITY_SOLUTION_URL> 取代為此單元開頭的端點 URL。

    go run ./cmd --url=<EVALUATED_SECURITY_SOLUTION_URL> --verbose
    
  6. 如果您已正確設定 WAF 原則設定,則應該會在輸出中看到 Baseline attack status code: 999。 這是您在 WAF 封鎖要求的情況下,所設定的相同回應狀態碼。

    Screenshot of running GoTestWAF with Git and displaying 999 status code.

您現在擁有受 Web 應用程式防火牆 (WAF) 原則保護的全功能車輛 Web 應用程式。