通過 HTTPS 和 SSL 確保 Windows Azure 網站 (WAWS) 安全
編輯人員註釋:本文章由 Windows Azure 網站團隊的專案經理 Erez Benari 撰寫。
隨著身份盜竊和各種形式的網路犯罪迅速增多,使用安全套接字層 (SSL) 對網站進行保護變得越來越重要和普遍。如果將網站託管在 Windows Azure 網站 (WAWS) 上,您可能想將其設定為使用 HTTPS。在本指南中,我們將瞭解如何完成此過程。
此過程的第一步似乎是獲取數字證書...對吧?嗯,好像不是。實際上第一步應該確定您是想擁有自己的自定義域,還是使用 Azure 的預設域
Azurewebsites.net 來執行您的站點。之所以這是第一步,是因為 Windows Azure 網站實際上已預先配置為可在 SSL 上執行。如果您不需要使用自己的域,可以立即使用 SSL。您只需通過SSL地址瀏覽您的網站即可!在瀏覽器中,將字首由
HTTP://
如果您要在自己的域中使用 SSL,則需要執行幾個額外的設定步驟。在執行任何操作之前,需注意的是,僅標準收費模式中的站點才支援在自定義域中使用 SSL。如果您的站點目前處於免費模式或共享模式,您必須切換到標準模式,這將需要額外收費。請參閱我們的定價指南或 Azure 計算器以瞭解預期成本。
在您選擇域並設定要使用該域的站點後,下一步是獲取與您的域匹配的數字證書。在購買證書時,您具有 3 個選項:
1. 購買一個匹配您的網站 URL 的簡單證書。這是最便宜的選項,一年只需支付 8 美元,可以在諸如
2.購買 SAN(Subject Alternative Name)證書。SAN 證書可與同一個域下的多個 URL 相匹配,是適用於擁有多個網站的公司的經濟解決方案。您無需購買多個證書(分別為每個 URL 購買一個證書),而是購買一個可用於多個 URL 的證書,並且需支付的金額將少於需為多個證書支付的金額。
3. 購買通配證書。此證書可與您域中的任何子域相匹配。雖然此證書是最貴的一種證書,但是對於擁有許多網站的公司而言,它是最經濟的選項。例如,如果貴公司擁有 30 個網站,那麼購買一個通配證書需支付的金額(79 美元)將遠低於購買 30 個簡單證書需支付的金額(240 美元)。
要購買證書,您將需要選擇提供商,並執行特定過程來生成 PFX 檔案形式的證書。我們在這篇文章中介紹了此過程。
擁有證書之後,啟用 SSL 就相當簡單了。具體步驟如下:
第 1 階段:將您的網站切換為 Standard。
在進行此切換之前,您可能需要考慮取消以前設定的支出限額。雖然這並不是必需的,但是通常不會在具有支出限額的情況下執行商業網站,因為如果達到您設定的限額,您的網站在下一個計費週期之前將處於離線狀態。將站點切換為 Standard 的步驟如下:
1. 登入到 Azure 管理門戶
2. 單擊您的網站
3. 切換到 Scale 選項卡
4. 在 General 下,單擊 Standard 按鈕將站點切換為 Standard 狀態。
5. 單擊 Save
第 2 階段:配置 SSL
要配置 SSL,您需要上傳證書並將其繫結到您的站點。具體步驟如下:
1. 登入到 Azure 管理門戶
2. 單擊您的網站
3. 切換到 Configure 選項卡
4. 在 Certificate 部分中,單擊
Upload a certificate
5. 上傳證書的 PFX 檔案,併為其指定密碼(您應該已在將證書匯出至 PFX 時建立了密碼)
6. 在 SSL Binding 下,從下拉列表中選擇您的自定義域。如果您尚未配置自定義域,請單擊此處閱讀有關如何執行此操作的說明:
7. 從下拉列表中選擇相關證書(當前您僅擁有一個證書,但以後可能會擁有更多證書)
8. 在第 3 個下拉列表中,您可以選擇啟用或禁用 SNI。通常情況下,您會希望使用 SNI,但是如果您預期將有版本很低的瀏覽器(Windows XP 或更低)訪問自己的網站,請選擇 IP Based SSL。如果檢視 SSL 定價,您將發現使用 SNI 也是一種很經濟的方式。
9. 單擊 Save
運氣好的話,現在就大功告成了,您的站點現在將對傳送到 HTTPS 的請求做出響應。
有問題?
您可能會遇到的最常見問題是無法將證書上傳到 Azure。在以前的部落格文章中,我們討論瞭如何獲取證書,藉此機會要提醒您的是,證書必須是已匯出的 PFX 證書,而不是您從證書提供商獲得的檔案(即使它也是 PFX 檔案形式)。這是因為,要將證書分配到網站,Azure 必須具有與該證書關聯的私鑰。證書生成過程從您的計算機開始,首先建立私鑰,然後由您的證書提供商進行匹配。需將提供商返回給您的檔案匯入到最初發出請求的計算機,然後將生成“完整”的證書。如果您嘗試上傳由提供程式提供的檔案,該檔案不會為 Azure 提供私鑰,這將導致證書無效。
此問題也可能表現為未正確地將證書匯出到 PFX。匯出中必須包含私鑰(這就是為什麼您需要在此過程中指定密碼的原因),並且如果您在執行匯入時忘記選中該框,將無法匯出。
使用證書時的另一個常見問題是,當用戶嘗試瀏覽到站點時,瀏覽器會顯示某種安全警告。當瀏覽器不認可證書時就會發生這個情況,針對該情況不同瀏覽器被設計為提供不同的響應。某些瀏覽器只是顯示一條警告,其他瀏覽器則可能會完全阻止此站點。導致出錯的最常見原因是 URL 不匹配。證書是針對特定 URL 頒發的,如果實際 URL 不匹配,則會形成潛在的安全風險。哪怕是一個拼寫錯誤就可能會毀掉您一整天的工作,因此務必謹慎。
導致瀏覽器顯示安全警告的一個更常見的原因是證書不受信任。證書通常由商業提供商頒發和出售,並且所有現代作業系統都預先配置了所有主要商業提供商的根證書。但是,如果您是從私有證書頒發機構(例如由一些私人組織或您自己的公司擁有的 CA 伺服器)頒發的證書,證書將不受信任,並會導致錯誤。Azure 網站不支援使用私有證書,因此,如果您要在不購買證書的情況下使用 SSL,可以轉為使用自簽名證書。
如上所述,預設情況下將支援所有主要商業提供商,但是您可能會偶爾遇到在其信任鏈中使用中間證書的提供商。一些證書提供商已將其證書路徑分為 2 個部分,因此您的證書將不由根 CA 頒發,而是由較低級別的“中間”伺服器(受提供商根的信任)頒發。在這種情況下,證書可能會導致客戶端瀏覽器發出警告,這意味著需要隨您的證書一起上傳提供商所頒發的中間證書。當您將證書匯出到 PFX 中時,應在其中包括整個鏈,並且預設情況下此選項已啟用:
但是,如果您取消選中該選項,或者以其他不包含證書路徑的方式匯出,可能會導致一些提供商出現問題。如果不能確定,建議您重新執行匯出,並確保選中此選項。
本文翻譯自: