Let's Encrypt做爲一個公共且免費SSL的項目逐漸被廣大用戶傳播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等組織人員發起,主要的目的也是爲了推動網站從HTTP向HTTPS過分的進程,目前已經有愈來愈多的商家加入和贊助支持。python
Let's Encrypt免費SSL證書的出現,也會對傳統提供付費SSL證書服務的商家有不小的打擊。到目前爲止,Let's Encrypt得到IdenTrust交叉簽名,這就是說能夠應用且支持包括FireFox、Chrome在內的主流瀏覽器的兼容和支持,雖然目前是公測階段,可是也有很多的用戶在自有網站項目中正式使用起來。linux
第1、安裝Let's Encrypt前的準備工做git
#檢查系統是否安裝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
第2、獲取Let's Encrypt免費SSL證書github
#獲取letsencrypt git clone https://github.com/letsencrypt/letsencrypt #進入letsencrypt目錄 cd letsencrypt #生成證書 ./letsencrypt-auto certonly --standalone --email quiniton@163.com -d zhaoheqiang.me -d www.zhaoheqiang.me
第3、Let's Encrypt免費SSL證書獲取與應用sql
在完成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個文件就能夠。bash
#打開linux配置文件,找到HTTPS 443端口配置的server
ssl_certificate /etc/letsencrypt/live/zhaoheqiang.me/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/zhaoheqiang.me/privkey.pem;
第4、解決Let's Encrypt免費SSL證書有效期問題服務器
Let's Encrypt證書是有效期90天的,須要咱們本身手工更新續期才能夠。
命令以下:python2.7
./letsencrypt-auto certonly --renew-by-default --email quiniton@163.com -d zhaoheqiang.me -d www.zhaoheqiang.me
這樣咱們在90天內再去執行一次就能夠解決續期問題,這樣又能夠繼續使用90天。若是咱們怕忘記的話也能夠利用linux crontab定時執行更新任務