NOTE: 本文由 赤石俊哉 撰寫,轉載時請註明出處。 linux
獲取證書的方式有兩種,一種是經過使用現有域名,向權威的 CA 機構申請證書。另外一種則是自簽名證書。自簽名證書具備較差的安全性,並且也會被瀏覽器標示爲不安全的鏈接,因此建議使用第三方 CA 頒發的證書用於產品環境。自簽名證書僅用於測試。
這裏咱們不介紹第一種方式,就自簽名證書的方法進行描述。app
引用: dom
可使用任何可用工具建立自簽名的證書,只要它們符合這些設置:ssh
- X.509 證書。
- 包含私鑰。
- 爲密鑰交換(.pfx 文件)而建立。
使用者名稱必須與用於訪問雲服務的域匹配。工具
沒法獲取 cloudapp.net 域(或與 Azure 相關的任何域)的 SSL 證書;該證書的使用者名稱必須與用於訪問應用程序的自定義域名匹配。 例如,contoso.net,而不是 contoso.cloudapp.net。- 至少爲 2048 位加密。
- 僅服務證書:客戶端證書必須駐留在我的證書存儲區。
使用 PowerShell 運行下面的命令便可建立自簽名證書測試
$cert = New-SelfSignedCertificate -DnsName yourdomain.cloudapp.net -CertStoreLocation "cert:\LocalMachine\My" $password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText Export-PfxCertificate -Cert $cert -FilePath ".\my-cert-file.pfx" -Password $password
將yourdomain.cloudapp.net
替換成你的域名,若是但願用於某一個 IP 地址而不是域名,能夠將它替換成對應的 IP 地址。
將your-password
替換成你的密碼。
將.\my-cert-file.pfx
替換成證書文件導出的本地位置。加密
在 Linux 中生成祕鑰對的方法能夠參考Microsoft Azure - 如何建立和使用適用於 Azure 中 Linux VM 的 SSH 公鑰和私鑰對
在 Visual Studio 中打開雲服務項目,從角色中找到你須要添加 SSL 的 Web 角色,雙擊會打開配置。
NOTE:
若是你但願從 cscfg 配置文件中直接修改,能夠參考原文,本文使用 Visual Studio 圖形界面進行配置。
原文地址:在 Azure 中爲應用程序配置 SSL
導航到證書
選項卡,點選添加證書
,會在配置表格中添加一行,名稱能夠隨便起一個,存儲位置和存儲名稱對應上面 PowerShell 命令中的 -CertStoreLocation
的參數,若是你沒有修改,則是默認的 LocalMachine
和My
。
點選指紋格後面的 ...
按鈕,找到剛剛咱們建立的證書的名字,指紋就會被自動填入表格。
導航到端點
選項卡,點選添加端點
,一樣也會在配置表格中添加一行,名稱仍是隨意,類型選擇 Input
,協議選擇 https
,公用端口選擇 443
,固然你也能夠用其餘端口,443
是 https
的默認端口。專用端口能夠留空,SSL 證書名稱
則對應上一步咱們添加的證書那個隨便起的名字。
至此,你就完成了全部的步驟,能夠部署到測試環境測試一下 https
是否已經生效了,