在Azure VM 的Apache2配置SSL
--
看了滿滿文章還是處處碰壁,每個SSL憑證申請花了69.99美,又建了DNS 區域發現怎麼驗證都不過,才發現真正申請的應該是APP Service網域+APP Service 憑證。
投資超過200美金才有這篇文章的誕生,喜歡就幫忙拍手(免費)吧!
首先建立一個App Service 網域,這邊會花費11.99美金。
建立完後,它會自動幫你架設DNS 區域。
新增一個記錄集。
名稱: @
類型:A
IP:填上VM的公有IP。
搜尋App Service 憑證,建立一個憑證,這邊一年需花費69.99美元(向Godaddy註冊)。
創建需花費3~5分鐘,好了後需要驗證網域擁有者,上面有很多方式可以驗證,選擇一個方便的就可以。
我選擇在DNS區域加入 @ txt的權重驗證。
憑證要能用的條件之一要建立Key Vault儲存。
完成後會有三個勾勾,就能去左邊的匯出憑證,從Key Vault 下載憑證。
點擊開啟Key Vault 秘密後,點擊一個版本,最下面就有下載憑證,副檔名是pfx(可直接裝上IIS),裝在Apache2還要用openssl拆開才能匯入...。
把pfx拆成cer與key檔
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key
使用scp指令上傳到VM,上傳到tmp是權限問題。
scp -i {xxx}.pem cgmh.key user@ip:/tmp
scp -i {xxx}.pem cgmh.cer user@ip:/tmp
上傳完後ssh到VM,將檔案搬至 /etc/ssl/
修改ssl設定
sudo nano /etc/apache2/sites-available/default-ssl.conf .
替換其中
SSLCertificateFile /etc/ssl/cgmh.crt
SSLCertificateKeyFile /etc/ssl/cgmh.key
好了後重啟apache2
sudo systemctl restart apache2
記得防火牆要開。
Result: