Let’s Encrypt Wildcard 免費泛域名SSL證書一鍵申請與SSL使用教程-愛新聞

Let’s Encrypt Wildcard 免費泛域名SSL證書一鍵申請與SSL使用教程

要說免費SSL證書,絕對要推薦Let's Encrypt,申請免費,安裝簡單,可以無限期的續期。目前wzfou.com主站用的就是Let's Encrypt的免費SSL證書,有人擔心自己沒有VPS主機無法使用Let's Encrypt證書,其實現在你可以直接在線申請Let's Encrypt了。

Let's Encrypt的單域名SSL證書極大的推動了SSL證書在世界範圍內的普及,而現在更加讓人興奮的消息是:經過無數次的跳票,Let's Encrypt Wildcard 免費泛域名SSL證書終於上線了!任何個人都是可以免費申請,利用腳本Acme.sh可以實現一鍵簽發,十分方便。

acme.sh實現了acme協議,可以從letsencrypt生成免費的證書。主要步驟:安裝acme.sh、生成證書、copy證書到nginx/apache或者其他服務、更新證書、更新acme.sh。Let's Encrypt Wildcard免費泛域名SSL證書有效期依然為三個月,acme.sh會自動續期。

Let's Encrypt Wildcard 免費泛域名SSL證書一鍵申請與SSL使用教程

本篇文章就來分享一下Let's Encrypt Wildcard 免費泛域名SSL證書一鍵申請與SSL使用教程,更多的關於建站經驗與建站資源,你可以試試:

  1. PayPal連連提現五個注意事項-賬號綁定,失敗鎖定,手續費與提現時長
  2. 十個你可能不知道的CloudFlare免費CDN加速技巧-SSLDDOSCache
  3. 自建CDN加速-Nginx反向綁定,緩存加速,自動更新緩存和獲取真實IP

PS:2018年4月6日更新,更多的免費SSL證書可以看我收集整理的專題:免費SSL證書收集整理匯總-免費給網站添加Https安全加密訪問。

PS:2018年3月26日更新, Let's Encrypt需要一台VPS主機才可以申請使用,手裡僅有虛擬主機的朋友可以試試在線申請免費SSL:三個在線免費SSL證書申請地址:AlwaysOnSSL,SSL For Free和FreeSSL.org。

一、Let's Encrypt泛域名SSL證書申請前準備

官網:

  1. https://letsencrypt.org/
  2. https://github.com/Neilpang/acme.sh
  3. https://wzfou.com/vps-bangdan/

1.1 VPS服務器

要安裝Let's Encrypt Wildcard免費泛域名SSL證書,你至少需要一台VPS主機,關於選購VPS主機可以看我寫的各在VPS主機測評:接入CN2線路VPS主機商和機房匯總和VPS主機排行榜單。

不嫌備+案麻煩的話,可以選擇阿里雲VPS、騰訊雲VPS、京東雲VPS等國內的VPS主機商,想要速度快的免備+案的VPS,可以試試CN2線路或者香港、韓國機房的VPS,這類有阿里雲香港、CN2 VPS、Kdatacenter等等。

1.2 做好DNS解析

Let's Encrypt支持DNSPod、CloudXNS、Amazon Route53、CloudFlare等DNS解析,你需要先把域名的NS修改好。

Let's Encrypt Wildcard 做好解析

二、Let's Encrypt SSL工具acme.sh

2.1 安裝acme.sh

acme.sh實現了acme協議,可以從letsencrypt生成免費的證書。安裝很簡單,一個命令:

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

普通用戶和root用戶都可以安裝使用。acme.sh安裝到你的home目錄下: ~/.acme.sh/,並創建一個bash的alias,方便你的使用:acme.sh=~/.acme.sh/acme.sh

Let's Encrypt Wildcard 安裝腳本

同時acme.sh自動為你創建cronjob,每天0:00點自動檢測所有的證書,如果快過期了,需要更新,則會自動更新證書。安裝過程不會污染已有的系統任何功能和文件 ,所有的修改都限制在安裝目錄中: ~/.acme.sh/

2.2 獲取DNS API

目前acme.sh需要使用到DNS API驗證域名。這里以DNSPOD為例,進入到用戶中心就可以找到API了。

Let's Encrypt Wildcard 獲得API

點擊新建一個API。

Let's Encrypt Wildcard 新建一個

最後你可以復制API的ID與Key了。

Let's Encrypt Wildcard 複製ID

2.3 簽發Let's Encrypt 泛域名證書

這里以DNSPod為演示,如果你是使用的其它的DNS,請參考本文下的附錄,不同的DNS的命令是不同的。執行以下命令保存DNSPOD的API Key 和ID。

export DP_Id="1234"
export DP_Key="sADDsdasdgdsf"

這個DP_Idand DP_Key保存在~/.acme.sh/account.conf。執行以下命令就可以簽發Let's Encrypt泛域名證書了:

acme.sh --issue --dns dns_dp -d wzfou.com -d *.wzfou.com
#默认签发的是RSA,如果你想签发ECC证书,请使用以下命令
acme.sh --issue --dns dns_dp -d wzfou.com -d *.wzfou.com --keylength ec-256
#可选长度有:
   ec-256 (prime256v1, “ECDSA P-256”)
   ec-384 (secp384r1, “ECDSA P-384”)

整個簽發過程還是很快的,完成後你就可以生成的SSL證書路徑了。

Let's Encrypt Wildcard 成功安裝

現在打開證書路徑,Fullchain.cer就是完成的域名證書了,wzfou.com.key就是Key了,你只要下載這兩個文件就可以啟用Let's Encrypt SSL證書了。

Let's Encrypt Wildcard 打開路徑

三、Let's Encrypt SSL證書安裝

實際上目前流行的VPS主機面板都已經支持自定義SSL證書或者是一鍵申請安裝Let's Encrypt SSL證書了,例如BT.cn寶塔面板、OneinStack、LNMP、WDCP、AppNode面板等。更多的安裝方法請參考:服務器控制面板榜單。

Let's Encrypt Wildcard 證書安裝

四、附錄:各大DNS API獲取與簽發SSL

說明:

  1. 附錄參考自:https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md
  2. DNS解析服務匯總:https://wzfou.com/mianfei-dns/
  3. 簽發泛域名SSL時請把命令部分:-d www.example.com改成:-d *.example.com

4.1 CloudFlare DNS API

首先,您需要登錄CloudFlare帳戶才能獲得API密鑰。

export CF_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export CF_Email="[email protected]"

好的,我們現在發出一個證書:

acme.sh --issue --dns dns_cf -d example.com -d www.example.com

CF_KeyCF_Email將被保存~/.acme.sh/account.conf,需要時會被重用。

4.2 DNSPod DNS API

首先,您需要登錄DNSPod帳戶才能獲取API密鑰和ID。

export DP_Id="1234"
export DP_Key="sADDsdasdgdsf"

好的,我們現在發出一個證書:

acme.sh --issue --dns dns_dp -d example.com -d www.example.com

DP_IdDP_Key將被保存~/.acme.sh/account.conf,需要時會被重用。

4.3 CloudXNS DNS API

首先,您需要登錄CloudXNS帳戶才能獲得API密鑰和密鑰。

export CX_Key="1234"
export CX_Secret="sADDsdasdgdsf"

好的,我們現在發出一個證書:

acme.sh --issue --dns dns_cx -d example.com -d www.example.com

CX_KeyCX_Secret將被保存~/.acme.sh/account.conf,需要時會被重用。

4.4 阿里雲Aliyun DNS API

首先,您需要登錄您的阿里雲 Aliyun帳戶才能獲得您的API密鑰。https://ak-console.aliyun.com/#/accesskey

export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"

好的,我們現在發出一個證書:

acme.sh --issue --dns dns_ali -d example.com -d www.example.com

Ali_KeyAli_Secret將被保存~/.acme.sh/account.conf,需要時會被重用。

4.5 GoDaddy DNS API

首先,您需要登錄GoDaddy帳戶才能獲得API密鑰和密鑰。https://developer.godaddy.com/keys/

請創建一個生產密鑰,而不是測試密鑰。

export GD_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export GD_Secret="asdfsdafdsfdsfdsfdsfdsafd"

好的,我們現在發出一個證書:

acme.sh --issue --dns dns_gd -d example.com -d www.example.com

GD_KeyGD_Secret將被保存~/.acme.sh/account.conf,需要時會被重用。

4.6 PowerDNS DNS API

首先,您需要登錄PowerDNS帳戶才能啟用API並在配置中設置API令牌。https://doc.powerdns.com/md/httpapi/README/

export PDNS_Url="http://ns.example.com:8081"
export PDNS_ServerId="localhost"
export PDNS_Token="0123456789ABCDEF"
export PDNS_Ttl=60

好的,我們現在發出一個證書:

acme.sh --issue --dns dns_pdns -d example.com -d www.example.com

PDNS_UrlPDNS_ServerIdPDNS_TokenPDNS_Ttl將被保存~/.acme.sh/account.conf,需要時會被重用。

4.7 Amazon Route53 DNS API

方法見:https://github.com/Neilpang/acme.sh/wiki/How-to-use-Amazon-Route53-API

export  AWS_ACCESS_KEY_ID=XXXXXXXXXX
export  AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXX

頒發證書:

acme.sh --issue --dns dns_aws -d example.com -d www.example.com

AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY將被保存~/.acme.sh/account.conf,需要時會被重用。

4.8 Linode DNS API

首先,您需要登錄您的Linode帳戶才能獲得API密鑰。https://manager.linode.com/profile/api

然後添加帶有標籤ACME的API密鑰並複制新密鑰。

export LINODE_API_KEY =“...”

由於DNS記錄中任何更改的重新加載時間,我們必須使用該dnssleep選項等待至少15分鐘才能使更改生效。

好的,我們現在發出一個證書:

acme.sh --issue --dns dns_linode --dnssleep 900 -d example.com -d www.example.com

LINODE_API_KEY將保存在~/.acme.sh/account.conf需要的時候將被重用。

4.9 DigitalOcean DNS API(本機)

您需要從DigitalOcean帳戶獲取可讀寫的API密鑰。請參閱:https://www.digitalocean.com/help/api/

export DO_API_KEY="75310dc4ca779ac39a19f6355db573b49ce92ae126553ebd61ac3a3ae34834cc"

好的,我們現在發出一個證書:

acme.sh --issue --dns dns_dgon -d example.com -d www.example.com

4.10命名的DNS API

您需要在https://www.namesilo.com/account_api.php生成API密鑰。您可以選擇在此處限制對IP範圍的訪問。

export Namesilo_Key="xxxxxxxxxxxxxxxxxxxxxxxx"

現在您可以發布證書:

acme.sh --issue --dns dns_namesilo --dnssleep 900 -d example.com -d www.example.com

4.11 使用自定義API

如果您的API尚不支持,您可以編寫自己的DNS API。

我們假設您要將其命名為“myapi”:

  1. 創建一個名為的bash腳本~/.acme.sh/dns_myapi.sh
  2. 在腳本中,您必須具有一個名為dns_myapi_add()acme.sh的函數來添加DNS記錄。
  3. 然後,您可以使用您的API發布以下證書:
acme.sh --issue --dns dns_myapi -d example.com -d www.example.com

五、總結

Let's Encrypt Wildcard 免費泛域名SSL證書申請與安裝還是比較簡單的,目前我們可以通過腳本來申請Let's Encrypt泛域名SSL,相信不久之後各大VPS主機控制面板就會有一鍵申請與安裝泛域名SSL證書了。

Let's Encrypt Wildcard成功使用

Let's Encrypt Wildcard 免費泛域名SSL證書需要用到DNS驗證,附錄裡已經列出了各大DNS域名解析獲取API以及簽發SSL證書的命令,大家可以參考一下,如果是簽發泛域名SSL,請把www換成*號即可。

發佈留言