linux不專業心得分享-5 取得ssl證書,並上傳證書到server

linux不專業心得分享-5 取得ssl證書,並上傳證書到server

這篇要來介紹很多小白都很陌生的ssl,以及ssl和https的關係,
OK! 讓我們馬上開始!

本篇重點摘要

  1. 什麼是ssl,以及https對你的幫助
  2. 什麼是WHOIS
  3. 申請免費或付費的ssl證書
  4. 註冊ZeroSSL帳號
  5. 從ZeroSSL申請證書
  6. 下載適合apache用的證書
  7. 上傳ssl證書檔案到server

什麼是ssl,以及https對你的幫助

在前面的文章中,如果你已經架設了自己的網站,你應該能發現,當你複製網址時你的網址會以
http
開頭,而http就是沒有加密過的傳輸協議,
如果你的網站一直沒有使用ssl證書來加密,那不僅較不安全,並且在搜尋引擎的排名也會比使用ssl證書加密過的網站低,
那ssl又是什麼呢?
ssl的全名為Secure Sockets Layer,
它是網頁伺服器和瀏覽器之間以加解密方式溝通的安全技術標準,這個溝通過程確保了所有在server與瀏覽器之間通過資料的私密性與完整性,
那麼,如何獲得ssl證書呢?
你必須從專門頒發ssl證書的網站申請ssl證書,申請的過程沒有什麼門檻,只要在網站中輸入自己的域名,並驗證自己是域名的擁有者就可以了,
也就是說,在申請ssl證書之前,你需要購買屬於自己的域名,才能用域名去申請ssl證書,
申請到證書之後,再從頒發證書的網站上下載適合你架站軟體的證書,例如下載apache用的證書檔案,
最後將下載的證書上傳到你的server,設定一個使用ssl證書的網站設定檔,你就能擁有一個網址以
https
開頭的網站了,
所以https中結尾的那個s,指的就是ssl證書,有證書保護的網址才能使用https來連線,
從此以後,你的網站會更安全,訪客也會更安心,在搜尋引擎的排名也會比用http的時候更靠前啦

什麼是WHOIS

WHOIS是一段公開的資訊,內容包括你註冊域名時的電子郵件,以及域名提供商的資訊,
如果你購買域名的提供商隱藏了WHOIS的資訊,在申請ssl證書的時候,你將無法使用電子郵件來驗證你是網站擁有者,
但不用擔心,通常能隱藏WHOIS也能設定不隱藏,通常可以在域名提供商的網站管理WHOIS的設定,
如果WHOIS設定搞不定,在驗證身分時也能用其他方式來驗證,只不過比較麻煩,
對小白來說,要是電子郵件無法驗證的話,我會推薦直接寫信給客服,讓他們手動寄驗證信到你的信箱也可以,
順帶一提,如果你是在台灣的域名提供商購買的網域,由於ncc有規定WHOIS一定要公開,所以通常比較不會遇到上述提到的問題。

申請免費或付費的ssl證書

頒發ssl證書的機構有很多,比方說之前我一直推薦購買域名的中華電信,也可以申請ssl證書,但從他們那裡申請價格非常貴,
因此我推薦到ZeroSSL申請,不但可以免費申請90天有效期的證書,付費的一年有效期證書也只要10美金,約300台幣有找,
要特別注意的是,ssl證書是有有效期的,如果過期了又沒更新ssl證書的話,你的網站將無法正常顯示,
通常ssl證書過期,或設定有問題的網站,在打開時會顯示(隱私權設定錯誤)的錯誤訊息,
因此不管你申請免費的證書,或付費購買,都要注意有效期的到期日,
但也不用太擔心自己記不住,從ZeroSSL申請的證書在即將到期前都會發mail到你的信箱,所以平時最好也要有定期察看信箱的習慣喔!

註冊ZeroSSL帳號

到這裡註冊帳號→
點我前往ZeroSSL註冊頁面
按照步驟註冊完成,如果你英文不好的話,記得可以安裝前面文章我介紹過的谷歌翻翻看NVDA附加元件。

從ZeroSSL申請證書

  1. 在註冊完成後,你應該會直接登入,你也可以到此頁面輸入e-mail跟密碼來登入→
    點我前往ZeroSSL登入頁面
  2. 登入後,tab找
    New Certificate連結
    按enter
  3. tab找
    Enter Domain編輯區
    在這裡輸入你要申請ssl的域名,輸入完後tab找
    Next Step 按enter
  4. 接下來這一步你可以選擇90天有效期的免費ssl,或是選擇1年10美金的付費ssl,
    這裡以90天有效期為例,tab找
    1-Year Certificate PRO選擇鈕勾選
    往上找
    90-Day Certificate選擇鈕勾選
    之後tab找
    Next Step 按enter
  5. 如果前一步你選的是90天有效期的證書,這一步你可以直接tab找
    Next Step 按enter,
    如果你選的是1年的證書,在這一步會有幾個讓你輸入信用卡或visa卡號、日期和安全碼的編輯框,輸入完後再tab找
    Next Step 按enter
  6. 再來這一步你可以自訂ssl的相關資料,例如公司名、e-mail之類的,這些資料會在你使用一些檢測ssl證書的網站上顯示,在使用上並不會有任何影響,
    不想改的話可以維持預設選項,它會自動幫你填好,也就是
    Auto-Generate CSR核取方塊勾選
    tab找
    Next Step 按enter
  7. 接下來tab你會看到一個下拉方塊,裡面有三種驗證方式,預設是e-mail,再按tab會有第二個下拉方塊,選擇要用來驗證的e-mail,
    p.s 如果你的網域提供商隱藏了你域名的WHOIS資訊,再選擇e-mail的下拉方塊會找不到你的e-mail可以選擇,這時你可以先隨便選一個e-mail
    選好e-mail之後,按tab找
    Next Step 按enter
  8. 最後是驗證的步驟
    • 倘若前面你有看到自己的e-mail並選擇上了,就tab找
      Verify Domain連結
      按enter,你能在信箱裡收到一封開頭為
      Verify Domain
      的信,點開信中的連結,並輸入信裡面提供的驗證碼就能完成驗證
    • 如果前面你是隨便選一個e-mail,那你可以先選
      Verify Later連結
      然後寫一封mail給客服,e-mail是→
      support@zerossl.com
      用英文告訴他們你無法用mail驗證,希望他們能手動寄驗證信到你的信箱,記得在信中也要寫你的域名,
      通常在1天內你能收到他們的回信,之後也是跟上面一樣的驗證步驟
    • 如果你對linux系統、dns比較熟悉,你也可以選擇其他的驗證方式,在這一步選擇
      Cancel Process & Restart
      可以返回到上一步選擇驗證方式的環節,選擇你會操作的驗證方式來驗證
  9. 當你成功驗證後,你會在e-mail收到一封開頭為
    Certificate Issued
    的信,這樣就恭喜你完成申請的步驟囉!

下載適合apache用的證書

  1. 通常在你驗證通過之後,網頁會直接跳轉到下載證書的環節,
    如果你不小心關掉視窗了,也能從這裡打開網站,沒登入的話需要先登入→
    點我前往管理證書的頁面
  2. tab找
    Certificates連結
    按enter
  3. tab找
    Issued連結
    按enter
  4. 之後tab找
    Cancelled連結
    往下你能看到類似這樣的內容→
    90-Day SSL
    lambtw.com
    Issued
    Aug 13, 2022
    連結Install
    此時tab到install上按enter,就能跳轉到下載證書的頁面
  5. tab你會看到
    Server Type下拉式方塊Default Format折疊
    往下找
    Apache
    再繼續tab找
    Download Certificate (.zip)連結
    按enter,就會彈出儲存檔案的視窗了,
    你就能選個位置,儲存放了證書的壓縮包囉

上傳ssl證書檔案到server

  1. 下載到證書後,解壓壓縮包,你會得到三個檔案,分別是→
    ca_bundle.crt
    certificate.crt
    private.key
  2. 建議你新增一個資料夾,把資料夾更名為英文名稱,例如my ssl之類的,這會方便之後我們設定時輸入路徑,
    並把上面說的三個檔案放進去,
  3. 複製資料夾,打開WinSCP,並建議貼到以下路徑→
    /etc/apache2/
  4. 順利的話上傳會在幾秒內完成,檢查一下WinSCP的列表中是不是已經多了剛剛複製的資料夾了,
    OK,完成了上傳之後,下篇就會來介紹要如何設定囉!