Cloudflare SSL免費憑證,手把手教你安裝

前言

全民網紅的時代,建立個人品牌網站的網域名稱可以直接跟品牌劃上等號,有個鮮明好記的網域名稱絕對可以加深粉絲對於網站的印象。 當網站經營到一定程度之後,你一定會想要自己網站SEO排名排在最前面,以獲得最多的曝光量,增加網站的自然流量,這時候幫自己網站加上SSL憑證就是個不可或缺的步驟了。

這篇文章教你的是使用Cloudflare的服務,獲得永久免費的SSL憑證(包含所有主域名及子域名),並且安裝在自己的伺服器上,如果你想要自己架站、你是公司的IT或是單純想要了解Cloudflare是什麼,千萬不要錯過這篇文章。

為什麼要用Cloudflare

使用Cloudflare申請的SSL憑證不需要寫任何程式就能夠完成設定,另外也提供協助網站提升安全性、存取速度以及可靠性。Cloudflare會協助你的網站阻斷DDoS攻擊,並且透過CDN提高網站的存取速度以及可靠性,這個好處無需任何額外的設定以及費用!

一步步教你設定

基本設定

我在使用Cloudflare之前,域名以及憑證都是在Namecheap上面買的,這邊會以Namecheap的後台畫面做為教學,你如果使用不同的平台,找到你的平台相同功能設定的地方做修改可達成相同效果。

首先在Cloudflare完成註冊後,進到帳戶首頁會看到新增網站的頁面,按照網站步驟輸入你的網域名稱,例如我的網站就是輸入「softaverse.com」。

接著按照網站的步驟執行完畢後,在左邊的導覽按鈕找到「Overview」點擊進入,若你的域名在其它DNS服務商有設定DNS代管服務,你可以看到這樣的畫面:

接著將「Nameserver 1」和「Nameserver 2」的位置複製到你的DNS代管平台,這邊以Namecheap為例:

完成後回到Cloudflare點擊下方「Check nameservers」等待設定完成即可。接著就是到Cloudflare設定DNS的地方將你的A Record或CNAME設定好就大功告成了!

簡單描述下這兩個紀錄的不同處:

A Record是什麼?

A Record設定的值只能是伺服器的IP位置,用途是讓難記的數字IP變成好記的網域名稱。

CNAME是什麼?

CNAME設定的值是網域名稱,可以說是網域名稱的別名。

CNAME在實務上有個超好用的用法,舉例來說,今天有個網址是「www.softaverse.com」,假設指到的IP位置為123.456.78.32,我今天想要有個網址叫做「blog.softaverse.com」,此情況就可以設定CNAME將blog.softaverse.com指到www.softaverse.com,如下圖所示:

可以看到上方文字說明告訴你blog.softaverse.comwww.softaverse.com的別名

某一天如果伺服器的位置改變了,你只需要更改www.softaverse.com指到的IP位置,其它設定的CNAME紀錄因為是www.softaverse.com的別名,所以全部不需要額外設定喔,非常方便管理!

Flexible

基本上到這邊基本都設定完成了,在Cloudflare中的設定為Flexible模式,瀏覽器與Cloudflare之間有一層https加密了,但Cloudflare與你的伺服器之間還是使用http連線。

Full

前面基本設定完成的部分為瀏覽器與Cloudflare之間的連線加密,完整模式會在Cloudflare與你的伺服器之間的連線加密,你只需要在你的伺服器上面放一組CA憑證,它可以是自己簽署的、Cloudflare Origin CA或其它受信任的第三方憑證。

你必須設置好伺服器上的443 https連線設定,在此模式下,如果用戶瀏覽你的網站時使用https連線,那麼Cloudflare同樣會以https連線與你的伺服器溝通。

Full (strict)

與完整模式的差異為你的伺服器上面的CA憑證必須是Cloudflare簽署的憑證或其它受信任的第三方憑證,在Cloudflare的主控台SSL/TSL裡面點選Origin Server,從這邊即可一鍵創出CA憑證,下載後安裝到你的伺服器就完成了!

結合AWS雲端服務

實務上的系統架構可能不只是單一一台伺服器這麼簡單,較複雜的系統架構我會用到負載平衡器來協助管理伺服器流量及服務。

我以AWS上的服務為例,使用AWS上的LB(Load Balancer)搭配ACM(Certificate Manager)完成伺服器與Cloudflare之間的加密連線,首先在ACM設定

進入ACM首頁畫面

點擊「Request a certificate」之後按照步驟操作:

輸入你的域名以及驗證方式,驗證方式我使用DNS validation,在ACM設定完畢之後前往cloudflare進行設定:

將ACM產生的「CNAME name」及「CNAME value」複製到cloudflare新增一個CNAME:

設定完畢後回到AWS EB裡面的load balancer新增一個protocol: https, port: 443的listeners就大功告成了!

結語

後端工程往往需要大量的網通知識才有辦法架設伺服器,市面上可以使用的工具非常多樣,我以一個最近手邊經手的專案來當作範例,這篇文章帶給你啟發之外也順便作為我日後參考的筆記。使用cloudflare完全是免費且能夠快速上手的工具,預祝你架設順利!

參考資料

customer certificates

Change your authoritative nameservers (Full setup)

Configuring an Application Load Balancer

喜歡運用科技工具提升工作效率、並自主開發實用小工具的長時間使用電腦工作者。對新科技工具深感興趣,樂於分享如何運用科技工具提升生活和工作效率的技巧。

發佈留言