1 頁 (共 1 頁)

透過 Let's Encrypt 的免費 CA 服務,幫自己的網站加上安全通信協定

發表於 : 2015年 12月 23日, 22:46
平凡的奇蹟
多年前網路巨擘 Google 就一直鼓吹使用安全的網路通信協定來提供網站服務,前幾天又公布了將把提供 https 服務的網站優先排序,以前要取得 CA 需要附上一筆費用,奇蹟手工坊的論壇就是花了一筆錢去購買一年期的 CA 認證,現在有家公益組織推出了免費的 CA 認證服務,這個組織就是 Let's Encrypt ,在寫這篇文章的同時 (2015/12/23),Let's Encrypt 目前進入公開測試階段 (Public Beta),之前的內部測試 (Private Beta) 需要有邀請碼,現在公開測試則是開放給所有人了。

如果能早幾個月就好了,那我就不必花一筆錢去購買一年期的 CA 認證,不過當時為了節省費用,所以只是申請了論壇網站的 CA,現在可以用免費的 CA 服務,所以我把奇蹟手工坊 http://www.7g-sogo.com 以及臺灣補給站 http://beverage.7g-sogo.com 也同時申請了 CA,目前這兩個網站也提供了 https 服務了。

現在利用這篇文章,跟大家介紹怎麼申請及設置 CA,以往要幫網站設置 https 服務很麻煩,現在Let's Encrypt 讓這個過程變得很簡單了,它提供了一個相當方便的客戶端工具 letsencrypt,利用這個工具很方便的就能夠設置好安全通信協定。

目前開放測試只提供 Unix/Linux 系統下的客戶端程式,其他平台可能在正式版後會推出,先說明一下我的環境,我架設網站的機器是 Ubuntu Linux 14.04 LTS 版本.... 網站伺服器用的是 Apache2,版本就不列了,就算列了外行人也看不懂,就算不列,高手也查得出來,呵呵.... 好啦,其實是偷懶....

恩,說太多廢話,就進入正題吧.... 設置 Let's Encrypt 客戶端需要 Python 語言套件,不過不幸的是 Ubuntu 14.04 LTS 版本所附的 2.7 系列的版本只到 2.7.6,而 3.x 系列的雖然有,但這時公開測試版的 Let's Encrypt 客戶端並不支援,所以只能使用 2.7.x 版本,但 2.7.6 版本確有安全上的問題,因此建議將 Python 更新到 2.7.9 以上,不過這當下,2.7 系列的最新版本是 2.7.11 ,所以我就直接更新到 2.7.11 了....

要手動更新到 Python 2.7.11,要先做準備工作,必須先安裝好所需的套件,指令如下 :

代碼: 選擇全部

apt-get install build-essential
apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
這是安裝稍後我們要自行編譯 Python 2.7.11 時所需要使用到的套件,套件準備好後,接下來編譯及安裝 Python 2.7.11 版本

這時安裝 Python 會用到 wget 工具,如果系統尚未安裝,用以下指令安裝 :

代碼: 選擇全部

apt-get install wget
我用的指令如下 :

代碼: 選擇全部

cd ~/downloads
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz

tar -xvf Python-2.7.11.tgz
cd Python-2.7.11
./configure
make
make install
安裝完畢後,重開機讓一切設定起作用

代碼: 選擇全部

reboot
接下來就可以開始安裝設定 Let's Encrypt 的客戶端了.. 不過客戶端要用 git 工具程式來安裝,如果系統尚未安裝 git ,用以下指令安裝 :

代碼: 選擇全部

apt-get install git
安裝完畢之後,就可以開始進行 Let's Encrypt 客戶端安裝,我用的指令如下 :

代碼: 選擇全部

cd ~/downloads
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --help
這時候系統就會開始安裝設置客戶端,等客戶端安裝成功後,接下來就可以利用客戶端程式 letsencrypt-auto 來進行 CA 認證的申請跟設置。
因為我使用的是 Apache 系統,打算將 www.7g-sogo.com 以及 beverage.7g-sogo.com 都申請 CA 及設置安全通信協定,所以我利用以下指令 :

代碼: 選擇全部

./letsencrypt-auto --apache -d www.7g-sogo.com -d beverage.7g-sogo.com
這個指令是告訴客戶端,我使用的是 apache 伺服器,然後要申請的兩個網域是 www.7g-sogo.com 及 beverage.7g-sogo.com,在第一次執行的時候,程式會詢問你的電子郵件信箱,以便利用這個郵件信箱自動幫你建立 Let's Encrypt 的帳號,根據程式的提示跟說明,只要按照提問回答即可 (建議一般的網站可以選用 http 及 https 網站同時存在的方式,因為世界上還是有很多人使用老舊的終端設備,像是老舊手機、老舊電腦等,這些無法使用 https 的新安全協定,如果你選擇只提供安全的 https 服務的話,很可能有一大部分人無法再連結你的網站),很快的,你的網站 CA 就會被安裝及設置,幾乎幾分鐘內,你的 https 網址就可以開始運作了......

Let's Encrypt 組織的出現,確實是造福了許多的網站擁有者,從此申請 CA 不必再花大把金錢了......... 心動嗎? 心動就馬上行動吧 ! 一起加入安全通信協定的世界吧.....

Re: 透過 Let's Encrypt 的免費 CA 服務,幫自己的網站加上安全通信協定

發表於 : 2020年 4月 20日, 16:10
平凡的奇蹟
對於 Ubuntu Server 18.04 LTS 版本,我又寫了這篇文章,有興趣可以參考