實戰申請Let's Encrypt永久免費SSL證書過程教程及常見問題

最近須要https這裏看到一份不錯的博客,收錄一下!html

 

Let's Encrypt做爲一個公共且免費SSL的項目逐漸被廣大用戶傳播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等組織人員發起,主要的目的也是爲了推動網站從HTTP向HTTPS過分的進程,目前已經有愈來愈多的商家加入和贊助支持。git

Let's Encrypt免費SSL證書的出現,也會對傳統提供付費SSL證書服務的商家有不小的打擊。到目前爲止,Let's Encrypt得到IdenTrust交叉簽名,這就是說能夠應用且支持包括FireFox、Chrome在內的主流瀏覽器的兼容和支持,雖然目前是公測階段,可是也有很多的用戶在自有網站項目中正式使用起來。github

實戰申請Let's Encrypt永久免費SSL證書過程教程及常見問題

在今年黑色星期五的時候,Namecheap各類促銷活動中也包括年費0.88美圓的SSL證書,當時老左也有購買了2個備用學習和適當的放到一些網站中看看效果(聽說英文網站谷歌會很喜歡),當時冷雨同窗就建議到時候直接使用Let's Encrypt免費SSL,畢竟有不少大公司支持的,比一些小公司提供的免費SSL證書靠譜不少。瀏覽器

雖然目前Let's Encrypt免費SSL證書默認是90天有效期,可是咱們也能夠到期自動續約,不影響咱們的嘗試和使用,爲了考慮到文章的真實性和之後的實戰性,老左準備利用一些時間分篇幅的展示在應用Let's Encrypt證書的過程,這篇文章分享申請的方法教程。安全

第1、安裝Let's Encrypt前的準備工做服務器

根據官方的要求,咱們在VPS、服務器上部署Let's Encrypt免費SSL證書以前,須要系統支持Python2.7以上版本以及支持GIT工具。這個須要根據咱們不一樣的系統版本進行安裝和升級,由於有些服務商提供的版本兼容是完善的,尤爲是debian環境兼容性比CentOS好一些。dom

好比CentOS 6 64位環境不支持GIT,咱們還能夠參考"Linux CentOS 6 64位系統安裝Git工具環境教程"和"9步驟升級CentOS5系統Python版本到2.7"進行安裝和升級。最爲 簡單的就是Debian環境不支持,能夠運行"apt-get -y install git"直接安裝支持,若是是CentOS直接運行"yum -y install git-core"支持。這個具體遇到問題在討論和搜索解決方案,由於每一個環境、商家發行版均可能不一樣。在這篇文章中,老左採用的是debian 7 環境。工具

第2、快速獲取Let's Encrypt免費SSL證書佈局

在以前的博文中老左也分享過幾篇關於SSL部署的過程,我本身也搞的暈乎暈乎的,獲取證書和佈局仍是比較複雜的,Let's Encrypt確定是考慮到推廣HTTPS的普及型會讓用戶簡單的獲取和部署SSL證書,因此能夠採用下面簡單的一鍵部署獲取證書。post

PS:在獲取某個站點證書文件的時候,咱們須要在安裝PYTHON2.7以及GIT,更須要將域名解析到當前VPS主機IP中。

git clone https://github.com/letsencrypt/letsencrypt

cd letsencrypt

./certbot-auto --help all

./certbot-auto certonly --standalone --email admin@laozuo.org -d laozuo.org -d www.laozuo.org

注意:這裏的命令中做者原來的是letsencrypt-auto,可是我看readme中是certbot-auto因此就改過來了,使用的兄弟能夠測試測試;

另外就是80端口的問題,若是本地被佔用了,能夠暫時停下再整,下面也有相關說明

而後執行上面的腳本,咱們須要根據本身的實際站點狀況將域名更換成本身須要部署的。

快速獲取Let's Encrypt免費SSL證書

看到這個界面,直接Agree回車。

Let's Encrypt安裝成功

而後看到這個界面表示部署成功。目前根據你們的反饋以及老左的測試,若是域名是用的國內DNS,包括第三那方DNSPOD等,均可能獲取不到域名信息。

Let's Encrypt國內域名DNS不支持

這裏咱們能夠看到有"The server could not connect to the client to verify the  domain"的錯誤提示信息,包括也有其餘提示錯誤,"The server experienced an internal error :: Error creating new registration"咱們在郵局的時候不要用國內免費郵局。因此,若是咱們是海外域名就直接先用域名自帶的DNS。

第3、Let's Encrypt免費SSL證書獲取與應用

在完成Let's Encrypt證書的生成以後,咱們會在"/etc/letsencrypt/live/laozuo.org/"域名目錄下有4個文件就是生成的密鑰證書文件。

cert.pem  - Apache服務器端證書
chain.pem  - Apache根證書和中繼證書
fullchain.pem  - Nginx所須要ssl_certificate文件
privkey.pem - 安全證書KEY文件

若是咱們使用的Nginx環境,那就須要用到fullchain.pem和privkey.pem兩個證書文件,在部署Nginx的時候須要用到(參考:LNMP一鍵包環境安裝SSL安全證書且部署HTTPS網站URL過程)。在這篇文章中老左就不詳細演示Let's Encrypt證書證書的安裝,後面再從新折騰一篇文章詳細的部署證書的安裝Nginx和Apache。

ssl_certificate /etc/letsencrypt/live/laozuo.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/laozuo.org/privkey.pem;

好比咱們在Nginx環境中,只要將對應的ssl_certificate和ssl_certificate_key路徑設置成咱們生成的2個文件就能夠,最好不要移動和複製文件,由於續期的時候直接續期生成的目錄文件就能夠,不須要再手工複製。

第4、解決Let's Encrypt免費SSL證書有效期問題

咱們從生成的文件中能夠看到,Let's Encrypt證書是有效期90天的,須要咱們本身手工更新續期才能夠。

./certbot-auto certonly --renew-by-default --email admin@laozuo.org -d laozuo.org -d www.laozuo.org

這樣咱們在90天內再去執行一次就能夠解決續期問題,這樣又能夠繼續使用90天。若是咱們怕忘記的話也能夠製做成定時執行任務,好比每月執行一次。

第5、關於Let's Encrypt免費SSL證書總結

經過以上幾個步驟的學習和應用,咱們確定學會了利用Let's Encrypt免費生成和獲取SSL證書文件,隨着Let's Encrypt的應用普及,SSL之後直接免費不須要購買,由於大部分主流瀏覽器都支持且有更多的主流商家的支持和贊助,HTTPS之後看來也是趨勢。在Let's Encrypt執行過程在中咱們須要解決幾個問題。

A - 域名DNS和解析問題。在配置Let's Encrypt免費SSL證書的時候域名必定要解析到當前VPS服務器,並且DNS必須用到海外域名DNS,若是用國內免費DNS可能會致使獲取不到錯誤。

B - 安裝Let's Encrypt部署以前須要服務器支持PYTHON2.7以及GIT環境,要不沒法部署。

C - Let's Encrypt默認是90天免費,須要手工或者自動續期才能夠繼續使用。

 

本文固定連接: http://www.laozuo.org/7676.html | 老左博客

相關文章
相關標籤/搜索