這邊先記錄一下購買 SSL 憑證的經驗
在 AWS架好 WordPress 之後 在 DNS設定A紀錄和 IP
AWS 那邊 route 53 也要設定好 這以後再慢慢介紹
基本上打 http://你的網域名稱 就會出現 wordpress 站台
但因為你沒有ssl 所以不會出現 https 安全連線
而現在google chrome 或者一些瀏覽器只要沒有 https 就會一直出現不安全的站台
看起來很難看 雖然說我只是一個小小部落格站台 但還是希望不要出現這樣的訊息
所以就去網路上看一下 有人介紹這個ssl 算便宜
去 Godaddy 看一年都要幾千元 超貴的
SSL 憑證有分很多等級 看你的站台的規模 如果你的是電商 購物網站甚至銀行要刷信用卡那種的
你買的SSL 等級就要很高表示更安全
可以參考SSL 驗證總類
SSLs.com 我選一個 PostiveSSL 的就好了 有基本的Domain Validation (DV) 網頁驗證就好
因為我網頁也沒有金流 基本的Https 一年不到四元美金 大概一年才台弊一百多元 而已 很划算 !!!

我也有參考這個網站 網站連線不安全?SSL 安全憑證懶人包!
先說明 我之前有參考書還有網路設 AWS的免費 SSL , ASW ELB 那邊也有設但沒成功
所以還是在外面買了商業的 SSL 來裝

在 SSLs.com 申請購買後 會給你一個 Private Key 的 txt 檔 要 存起來
這邊要記得的是 買完填完信用卡和網域名稱 然後有兩種驗證方式 一種是電子郵件 一種是 網站驗證
我選擇的是網站驗證,他會要求你把一個 txt 檔 上傳到你的網站的根目錄下
如果你網站的 /根目錄/xxx.txt 上傳 OK 可以找到
通過網站驗證他就會將你的 ssl status 的狀態變成Active
這樣你才能下載憑證的壓縮檔

結果我以為這樣就OK 結果等了半天 狀態還是 In Progress
後來我受不了了就寫信給客服詢問說為甚麼我的網址後面那個.txt 也可以看到怎麼ssl 驗證還是In progress
後來客服回我  說 Comodo 大概認為我這個網域 .idv.tw 是屬於比較罕見的網域
所以本來我的網址是 www.xxx.idv.tw , 要我變成是 xxx.idv.tw  才行!!!
我只好去網路中文的 DNS 另外加一筆 A 紀錄 名稱是空白  然後 AWS route 53 那邊也要加
總算可以 http://xxx.idv.tw/~.txt 可以看到 
然後再寫信給它們說 我弄好了 然後 SSLs 才將我狀態變成 Active
你的狀態如果是 Active 就可以下載一個 壓縮檔 
裡面有三個憑證 certs 一個是你的網域.ca-bundle 一個是你的網域 另一個是PKCS #7
會用到的是 Private Key Ca-bundle 還有你的網域這三個憑證
AWS說要用.pem 格式 其實不用就是用筆記本把這三個 cert 打開把裡面文字copy 出來就可以了

要讓自己的 SSL 啟動  首先要把 這三個壓縮檔傳到你的 Server 上面 
而且還不能隨便亂傳
因為這個wordpress bitnami 有自己的 server.crt 目錄和檔案
所以最好的方式就是參考這篇文章第二部分
2. 將 Bitnami WordPress 網站上加上 SSL 憑證
基本上 就三個檔案上傳 一個是你的private key 但因為他本來是.txt 格式 所以你自己把檔案副檔名改成.key
另一個就是 你的網域名稱.crt 另一個就是你的網域名稱.ca-bundle.crt 如果它們副檔名不是crt 要把它改成crt
然後先把這三個檔案傳到網站的目錄例如 cd /opt/bitnami/apache2/conf 下面
接下來 因為 bitnami 自已的憑證放在 cd /opt/bitnami/apache2/conf 下面
有三個檔案 server.crt server.key server-ca.crt 這是它原本的憑證
我們要先把這三個原本的憑證做一個備份檔 免得錯誤了還可以改回來
到 cd/opt/bitnami/appache2/conf
下指令
mv server.crt server.crt.back.
mv server.key server.key.back
mv server-ca.crt server-ca.crt.back
然後 再把自己原來的檔案變成 bitnami 那個憑證檔
mv 你的網域.crt server.crt
mv private.key server.key
mv 你的網域-ca_bundle.crt server-ca.crt
然後

用 sudo vi 編輯一下 /opt/bitnami/apache2/conf/bitnami/bitnami.conf,

裡面原本就有 SSLCertificateFile 和 SSLCertificateKeyFile,

但我們得把 SSLCACertificateFile 的設定也加上去:

SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"
SSLCACertificateFile "/opt/bitnami/apache2/conf/server-ca.crt"

儲存好之後,重新啟動 Apache 服務:

sudo /opt/bitnami/ctlscript.sh restart

在 網站的 SSL 設定大致上就這樣完成
但是因為是架在 AWS 上面的 所以 要先在 AWS 上的 Certificate Manager

選擇匯入憑證

要填入三個項目
憑證內文  也就是 你的網域.crt 裡面的文字  用筆記本打開把裡面的文字貼進去
憑證私有金鑰  也就是你原來的 private.key 裡面的文字 一樣用筆記本打開把裡面的文字貼進去
憑證鍊   也就是 你的網域-ca-bundle.crt 裡面的文字 一樣用筆記本打開把裡面的文字貼進去
然後你就建立一個 SSL 憑證 記得網域名稱打進去 這就是AWS匯入憑證

接著 在你的wordpress 建立的 EC2 上面 選 Load balancer 然後要加入一個 Listener port 443
再把這個SSL 憑證加上去 詳細步驟請參考

AWS 設定LOAD BALANCER 教學(含SSL憑證)
我不知道 免費12個月方案 load balancer 要不要錢
但我也只能用這個方式用
設好 Load balancer 的 SSL 基本上我的網站 https 就沒問題了

另外可以參考這個 youtube 
不過這個影片少了一個 server-ca.crt 的檔案 一樣要先傳上去
然後一定要修改 bitnami.conf 將 SSLCACertificateFile “/opt/bitnami/apache2/conf/server-ca.crt” 加上去
不然 https 會有問題

https://youtu.be/QA4X8ntcNBQ
Configure HTTPS with an AWS Load Balancer





.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *