網站實現https 申請Let's Encrypt永久免費SSL證書
Let's Encrypt簡介
Let's Encrypt作為一個公共且免費SSL的專案逐漸被廣大使用者傳播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等組織人員發起,主要的目的也是為了推進網站從HTTP向HTTPS過度的程序,目前已經有越來越多的商家加入和贊助支援。
Let's Encrypt免費SSL證書的出現,也會對傳統提供付費SSL證書服務的商家有不小的打擊。到目前為止,Let's Encrypt獲得IdenTrust交叉簽名,這就是說可以應用且支援包括FireFox、Chrome在內的主流瀏覽器的相容和支援,雖然目前是公測階段,但是也有不少的使用者在自有網站專案中正式使用起來。
步驟如下:
第一、安裝Let's Encrypt前的準備工作
#檢查系統是否安裝git,如果已經自帶有git會出現git版本號,沒有則需要我們自己安裝 git --version #git 安裝 yum install git #檢查Python的版本是否在2.7以上 python -v //2.6版本 #安裝python所需的包 yum install zlib-devel yum install bzip2-devel yum install openssl-devel yum install ncurses-devel yum install sqlite-devel #獲取到Python cd /usr/local/src wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz #解壓Python2.7.12 tar -zxvf Python-2.7.12.tar.xz #編譯python cd Python-2.7.12/ ./configure --prefix=/usr/local/python2.7 make && make install #建立連結 ln -s /usr/local/python2.7/bin/python2.7 /usr/local/bin/python #解決系統 Python 軟連結指向 Python2.7 版本後,因為yum是不相容 Python 2.7的,所需要指定 yum 的Python版本 # vi /usr/bin/yum 將頭部的 #!/usr/bin/python 改成 #!/usr/bin/python2.6.6
第二、獲取Let's Encrypt免費SSL證書
#獲取letsencrypt
git clone https://github.com/letsencrypt/letsencrypt
#進入letsencrypt目錄
cd letsencrypt
#生成證書
./letsencrypt-auto certonly --standalone --email [email protected] -d zhaoheqiang.me -d www.zhaoheqiang.me
第三、Let's Encrypt免費SSL證書獲取與應用
在完成Let's Encrypt證書的生成之後,我們會在"/etc/letsencrypt/live/zhaoheqiang.me/"域名目錄下有4個檔案就是生成的金鑰證書檔案。
cert.pem - Apache伺服器端證書
chain.pem - Apache根證書和中繼證書
fullchain.pem - Nginx所需要ssl_certificate檔案
privkey.pem - 安全證書KEY檔案
如果我們使用的Nginx環境,那就需要用到fullchain.pem和privkey.pem兩個證書檔案,在部署Nginx的時候需要用到。在Nginx環境中,只要將對應的ssl_certificate和ssl_certificate_key路徑設定成我們生成的2個檔案就可以。
#開啟linux配置檔案,找到HTTPS 443埠配置的server
ssl_certificate /etc/letsencrypt/live/zhaoheqiang.me/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zhaoheqiang.me/privkey.pem;
第四、解決Let's Encrypt免費SSL證書有效期問題
Let's Encrypt證書是有效期90天的,需要我們自己手工更新續期才可以。
命令如下:
./letsencrypt-auto certonly --renew-by-default --email [email protected] -d zhaoheqiang.me -d www.zhaoheqiang.me
這樣我們在90天內再去執行一次就可以解決續期問題,這樣又可以繼續使用90天。如果我們怕忘記的話也可以利用linux crontab定時執行更新任務