1. 程式人生 > >快速簽發 Let's Encrypt 證書指南

快速簽發 Let's Encrypt 證書指南

本文僅記錄給自己的網站新增“小綠鎖”的動手操作過程,不涉及 HTTPS 工作原理等內容的講解,感興趣的同學可以參考篇尾的文章自行了解。

簡單瞭解下我的實驗環境:

  • 雲伺服器:CentOS 7.4
  • 網站宿主:Nginx 1.12.2

這裡以www.esofar.cn作為演示域名,屆時一定要修改為自己的域名。

什麼是 Let's Encrypt

Let's Encrypt

Let's Encrypt 是一個由非營利性組織 網際網路安全研究小組(ISRG)提供的免費、自動化和開放的證書頒發機構(CA)。

簡單的說,藉助 Let's Encrypt 頒發的證書可以為我們的網站免費啟用 HTTPS(SSL/TLS) 。

Let's Encrypt免費證書的簽發/續簽都是指令碼自動化的,官方提供了幾種證書的申請方式方法,

點選此處 快速瀏覽。

官方推薦使用 Certbot 客戶端來簽發證書,這種方式可參考文件自行嘗試,不做評價。

我這裡直接使用第三方客戶端 acme.sh 申請,據瞭解這種方式可能是目前 Let's Encrypt 免費證書客戶端最簡單、最智慧的 shell 指令碼,可以自動釋出和續訂 Let's Encrypt 中的免費證書。

安裝 acme.sh

安裝很簡單,一條命令:

curl https://get.acme.sh | sh

整個安裝過程進行了以下幾步,瞭解一下即可:

  1. 把 acme.sh 安裝到當前使用者的主目錄$HOME下的.acme.sh資料夾中,即~/.acme.sh/,之後所有生成的證書也會放在這個目錄下;
  2. 建立了一個指令別名alias acme.sh=~/.acme.sh/acme.sh,這樣我們可以通過acme.sh命令方便快速地使用 acme.sh 指令碼;
  3. 自動建立cronjob定時任務, 每天 0:00 點自動檢測所有的證書,如果快過期了,則會自動更新證書。

安裝命令執行完畢後,執行acme.sh --version確認是否能正常使用acme.sh命令。

https://github.com/Neilpang/acme.sh
v2.7.9

如有版本資訊輸出則表示環境正常;如果提示命令未找到,執行source ~/.bashrc命令過載一下環境配置檔案。

整個安裝過程不會汙染已有的系統任何功能和檔案,所有的修改都限制在安裝目錄~/.acme.sh/

中。

生成證書

據 acme.sh 官方文件介紹,其實現了 acme 協議支援的所有驗證協議,一般有兩種方式驗證:http 和 dns 驗證。

也就是我們有兩種選擇簽發證書,這裡我直接選擇 http 驗證方式,另外一種方式本篇不做介紹,可參考文件自行嘗試。

簽發證書也很簡單,一條命令:

acme.sh --issue -d esofar.cn -d www.esofar.cn -w /home/wwwroot/esofar.cn

簡單解釋下這條命令涉及的幾個引數:

  • --issue是 acme.sh 指令碼用來頒發證書的指令;
  • -d--domain的簡稱,其後面須填寫已備案的域名;
  • -w--webroot的簡稱,其後面須填寫網站的根目錄。

證書籤發成功會有如下輸出:

Cert1
Cert2

從截圖看出,生成的證書放在了/root/.acme.sh/esofar.cn目錄。

另外,可以通過下面兩個常用acme.sh命令檢視和刪除證書:

# 檢視證書列表
acme.sh --list 

# 刪除證書
acme.sh remove <SAN_Domains>

至此,證書就下載成功。

安裝證書

我的站點是由 Nginx 承載的,所以本節內容重點記錄如何將證書安裝到 Nginx,其他 webserver 請參考 acme.sh 文件自行實踐。廢話不多說,進入本節正題。

上一小節,生成的證書放在了/root/.acme.sh/esofar.cn目錄,因為這是 acme.sh 指令碼的內部使用目錄,而且目錄結構可能會變化,所以我們不能讓 Nginx 的配置檔案直接讀取該目錄下的證書檔案。

正確的做法就是使用--installcert命令,指定目標位置,然後證書檔案會被 copy 到相應的位置。

一條命令即可解決:

acme.sh  --installcert -d esofar.cn \
         --key-file /etc/nginx/ssl/esofar.cn.key \
         --fullchain-file /etc/nginx/ssl/fullchain.cer \
         --reloadcmd "service nginx force-reload"

這裡我將證書放到了/etc/nginx/ssl/目錄下。

輸出如下資訊,則操作成功:

Install Cert

最後一步就是,修改 Nginx 配置檔案啟用 ssl,修改完成後需要重啟下 Nginx,這一塊不再詳述。Nginx 配置請參考:

    server {
        listen 443 ssl;
        server_name esofar.cn;
        
        ssl on;
        ssl_certificate      /etc/nginx/ssl/fullchain.cer;
        ssl_certificate_key  /etc/nginx/ssl/esofar.cn.key;

        root /home/wwwroot/esofar.cn;
        index index.html;
    
        location / {
            try_files $uri $uri/ @router;
            index index.html;
        }
    
        location @router {
            rewrite ^.*$ /index.html last;
        }
    }
    
    server {
        listen 80;
        server_name esofar.cn;
        return 301 https://$server_name$request_uri;
    }

完成證書部署後可以通過如下站點檢測網站的安全級別:

更新證書

目前 Let's Encrypt 的證書有效期是90天,時間到了會自動更新,您無需任何操作。 今後有可能會縮短這個時間, 不過都是自動的,不需要您關心。

但是,您也可以強制續簽證書:

acme.sh --renew -d example.com --force

更新 acme.sh

目前由於 acme 協議和 letsencrypt CA 都在頻繁的更新, 因此 acme.sh 也經常更新以保持同步。

升級 acme.sh 到最新版:

acme.sh --upgrade

如果您不想手動升級,,可以開啟自動升級:

acme.sh  --upgrade  --auto-upgrade

您也可以隨時關閉自動更新:

acme.sh --upgrade  --auto-upgrade  0

相關閱讀

相關推薦

快速簽發Lets Encrypt證書指南

文件 ocs adc 目前 shel url issue 安裝 頁面 本文僅記錄給自己的網站添加“小綠鎖”的動手操作過程,不涉及HTTPS工作原理等內容的講解,感興趣的同學可以參考篇尾的文章自行了解。 簡單了解下我的實驗環境: 雲服務器:CentOS 7.4 網站宿主:N

快速簽發 Let's Encrypt 證書指南

本文僅記錄給自己的網站新增“小綠鎖”的動手操作過程,不涉及 HTTPS 工作原理等內容的講解,感興趣的同學可以參考篇尾的文章自行了解。 簡單瞭解下我的實驗環境: 雲伺服器:CentOS 7.4 網站宿主:Nginx 1.12.2 這裡以www.esofar.cn作為演示域名,屆時一定要修改為自己的域

HawkHost主機cPanel面板快速安裝Lets Encrypt免費SSL證書

HawkHost主機 老鷹主機 虛擬主機 如今我們越來越多的網站需要使用到SSL安全證書,尤其是我們做電商業務的網站,一來可以確保用戶信息的安全,二來可以增加用戶的安全意識識別,三來外貿類網站一般在谷歌中的排名優勢如果有SSL證書還是有一定的加分的。如果我們有使用HawkHost老鷹主機虛擬

快速配置Let's encrypt萬用字元證書

利用certbot工具配置Let’s encrypt萬用字元證書,所域名下所有的子域名都能方便的使用 https證書,而且完全免費。值得關注的是,Let’s encrypt萬用字元證書只是針對二級域名,並不能針對主域名,如*.hubinqiang.com和hub

獲取Let`s Encrypt證書的三種方式

1,acme.sh 方式 1)獲取acme指令碼 curl https://get.acme.sh | sh 2)開始獲取證書 acme.sh強大之處在於,可以自動配置DNS,不用去域名後臺操作解析記錄了,我的域名是在阿里註冊的,下面給出阿里雲解析的例子,其他地方註冊的請參考這裡自行修改

centos7配置nginx使用lets Encrypt證書

server {listen       443;server_name xxx.cn;        location /{        proxy_set_header Host $host;        proxy_set_header X-Real-Ip $remote_addr;       

在Ubuntu使用 Let's Encrypt 證書部署 HTTPS的方法

osi 獲取 bsp ppa nbsp spa 技術 src cnblogs 獲取軟件包: $ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-rep

windows server2008R2申請免費let's encrypt證書

lets encrypt powershell windows https Let’s Encrypt 項目(https://letsencrypt.org/)是由互聯網安全研究小組ISRG,Internet Security Research Group主導並開發的一個新型數字證書認證機構C

CentOS 7配置Lets Encrypt支持免費泛域名證書

證書 token rep -h clas oot serve 執行 details Let’s Encrypt從2018年開始支持泛域名證書,有效期3個月,目前僅支持acme方式申請,暫不支持certbot。 1、安裝acme.sh curl https://get.ac

解決 Lets Encrypt SSL 證書配置錯誤

apt work 更新 pass 問題: rest 原因 ubuntu pos 解決 Let’s Encrypt SSL 證書配置錯誤”DNS problem: NXDOMAIN looking up A for xxx.com” 一、問題:Let’s Encrypt 配置

使用Lets Encrypt為自己的子域名分配證書

最近由於想要同時部署多個服務到自己的主機上,而自己又懶得記ip地址,所以想要用子域名來代替,。, 這裡安裝的certbot是針對centos的,安裝教程由certbot提供 按照上面的教程安裝完之後,主機會增加certbot命令,執行命令 certbot cert

sdm 使用阿里雲域名申請 Lets Encrypt 萬用字元 域名證書

  安裝acme 進入 套件中心 點選安裝 Git Server 之後進入SSh會使用git命令 方法1--------------------------------------- 獲取程式碼 git clone https://githu

一年多 Lets Encrypt 的 SSL 證書使用有感

一年多 Let’s Encrypt 的 SSL 證書使用有感 https://www.zhihu.com/search?type=content&q=Let's Encrypt 明月登樓 草根部落格站長 imydl.com 擅長伺服器部署、運維、網站建設等 又拍雲 等 話說我把站

免費證書申請——Let's Encrypt的申請與應用(IIS,Tomcat)

環境 Windows Server 2008 R2 Tomcat 8.5.31 JDK8 利用IIS+letsencrypt-win-simple.V1.9.1申請免費SSL證書 新建一個IIS空網站test,並指向域名test.osgis.cn 雙擊執行letsencrypt.exe 開始輸入自己

免費HTTPS證書Let's Encrypt安裝教程

HTTPS在各大網際網路站已經成為標配,就連某度也在前不久全面啟用HTTPS,很多小網站也配置了HTTPS,這是未來的一種趨勢。HTTPS的好處多多,可以防止各種攻擊劫持,運營商廣告植入,客戶傳輸資訊洩露等問題。為了讓HTTPS能夠全面普及,Let's Encrypt專案應運而生,它由網際網

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

近幾年,在瀏覽器廠商的強力推動下,HTTPS的使用率大增。據統計,Firefox載入的網頁中啟用HTTPS的佔比為67%,谷歌搜尋結果中HTTPS站點佔比已達50%,HTTPS網站已獲得瀏覽器和搜尋引擎的共同青睞。據悉,瀏覽器開發商Mozilla,Google準備採取下一步措

Let's Encrypt,免費好用的 HTTPS 證書

提醒:本文最後更新於 970 天前,文中所描述的資訊可能已發生改變,請謹慎使用。 很早之前我就在關注 Let's Encrypt 這個免費、自動化、開放的證書籤發服務。它由 ISRG(Internet Security Research Group,網際網路安全研究小組)提供服務,而 ISRG

申請Let's Encrypt萬用字元HTTPS證書

Let’s Encrypt 釋出的 ACME v2 現已正式支援萬用字元證書,接下來將為大家介紹怎樣申請,Let’s go. 注 本教程是在centos 7下操作的,其他Linux系統大同小異。 2018.03.15 20:48 更新了通過acme.sh方式獲取

免費SSL證書Lets Encrypt申請與部署(Windows Nginx)

我著著皇帝的新衣,但是你看不見      有一顆願意等待的心,說明你對未來充滿希望。有一顆充滿希望的心,那麼等待又算什麼。人就是在等待與希望中度過,我們永遠要對未來充滿信心! 讀在最前面: 1、本文案例為SSL證書申請,部署環境為Winodws Nginx    2、Let's Encrypt是國外一

CentOS 7 Nginx Lets Encrypt SSL 證書安裝配置

https取代http是大勢所趨,越來越多的網站都改用https了。從16年起,蘋果公司就要求開發者使用https替代http,前期還可以通過調整應用的配置允許http通訊,到後來使用https成了強制要求。 對於個人開發者和小公司而言,很多時候不過是在伺服器進行一些簡單的