無(wú)需花一分錢(qián):輕松獲取SSL證書(shū)的三種方法
前言
這篇精彩文章詳細(xì)介紹了三種獲取免費(fèi) SSL 證書(shū)的方式,讓你輕松提升網(wǎng)站安全性。不論你是剛?cè)腴T(mén)的新手還是經(jīng)驗(yàn)豐富的專(zhuān)業(yè)人士,都能從中找到實(shí)用指南和方法。
獲取SSL證書(shū)的主要途徑
一般獲取 SSL 證書(shū)的途徑也就那么幾個(gè),以下是一些常見(jiàn)的途徑:
- 商業(yè)證書(shū)頒發(fā)機(jī)構(gòu)(CA):你可以選擇購(gòu)買(mǎi)商業(yè) CA(如 Comodo、DigiCert、GlobalSign、Symantec 等)頒發(fā)的 SSL 證書(shū)。這些證書(shū)通常提供更多的功能和保障,適用于各種企業(yè)級(jí)需求。
- 托管服務(wù)提供商:如果你使用云托管服務(wù)(國(guó)外如 AWS、Azure、Google Cloud 等,國(guó)內(nèi),如阿里云、騰訊云等),這些平臺(tái)通常提供集成的 SSL 證書(shū)管理服務(wù),可以方便地獲取和配置 SSL 證書(shū)。
- Let's Encrypt:Let's Encrypt 是一個(gè)免費(fèi)的證書(shū)頒發(fā)機(jī)構(gòu),通過(guò)他們的服務(wù)可以獲取免費(fèi)的 SSL 證書(shū),支持自動(dòng)化簽發(fā)和更新。
- 第三方證書(shū)市場(chǎng):有一些第三方的證書(shū)市場(chǎng)(如 SSLs.com、Namecheap 等)也提供各種類(lèi)型的 SSL 證書(shū)選擇,你可以在這些市場(chǎng)上購(gòu)買(mǎi)并獲取證書(shū)。
- 自簽名證書(shū):如果你只是在內(nèi)部環(huán)境或測(cè)試目的下使用 SSL 加密,你也可以生成自簽名證書(shū)來(lái)使用。不過(guò)需要注意的是,自簽名證書(shū)在公共網(wǎng)絡(luò)中可能會(huì)受到不信任。
openssl
OpenSSL是一個(gè)強(qiáng)大的開(kāi)源加密庫(kù),它提供了各種密碼學(xué)功能,包括對(duì)稱加密、非對(duì)稱加密、數(shù)字證書(shū)、消息摘要等。它也包含了SSL和TLS協(xié)議的實(shí)現(xiàn),因此可以用于安全地傳輸數(shù)據(jù)和建立安全的通信連接。
OpenSSL支持常見(jiàn)的加密算法,如AES、DES、RSA、DSA等,同時(shí)還提供了各種工具和命令行實(shí)用程序,以便用戶進(jìn)行加密、解密、簽名、驗(yàn)證等操作。除此之外,OpenSSL還能夠生成和管理數(shù)字證書(shū),用于網(wǎng)絡(luò)安全、身份認(rèn)證和數(shù)據(jù)完整性驗(yàn)證。
由于其廣泛的應(yīng)用和強(qiáng)大的功能,OpenSSL已經(jīng)成為許多軟件和系統(tǒng)中不可或缺的組件,被廣泛應(yīng)用于網(wǎng)絡(luò)安全領(lǐng)域、Web服務(wù)器、虛擬私有網(wǎng)絡(luò)(VPN)、電子商務(wù)等各種場(chǎng)景中。
下面就詳細(xì)分享一下如何使用 OpenSSL 生成 SSL 數(shù)字證書(shū):
生成私鑰(Key)
使用以下命令生成一個(gè) RSA 私鑰文件,私鑰文件名字叫 my-key.pem:
#生成到根目錄下
openssl genrsa -out my-key.pem 2048
#生成到/opt/ssl目錄下
openssl genrsa -out /opt/ssl/my-key.pem 2048
關(guān)于生成私鑰命令的解讀:
- openssl genrsa:表示要執(zhí)行 OpenSSL 的 RSA 密鑰對(duì)生成操作。
- -out my-key.pem:指定了生成的私鑰文件的輸出路徑和文件名,這里是 my-key.pem,表示當(dāng)前目錄是根目錄,生成私鑰文件的名字是my-key.pem。
- 2048:指定了生成的私鑰的長(zhǎng)度為 2048 位。RSA 密鑰對(duì)的安全性與密鑰長(zhǎng)度密切相關(guān),2048 位長(zhǎng)度目前被認(rèn)為是足夠安全的長(zhǎng)度。
生成證書(shū)簽名請(qǐng)求
使用指定的私鑰文件(my-key.pem)生成一個(gè)新的證書(shū)簽名請(qǐng)求(CSR),并將生成的 CSR 寫(xiě)入到指定的輸出文件中(my-csr.pem)
#生成到根目錄下
openssl req -new -key key.pem -out csr.pem
#生成到/opt/ssl目錄下
openssl req -new -key /opt/ssl/my-key.pem -out /opt/ssl/my-csr.pem
圖片
在生成證書(shū)簽名請(qǐng)求命令中有幾個(gè)關(guān)鍵信息:
- openssl req:表示要執(zhí)行 OpenSSL 的證書(shū)請(qǐng)求(req)操作。
- -new:表示生成一個(gè)新的證書(shū)請(qǐng)求。
- -key my-key.pem:指定了私鑰文件的路徑和文件名,這里是 my-key.pem,表示在目錄下,文件名叫my-key.pem。證書(shū)請(qǐng)求需要使用私鑰進(jìn)行加密,因此需要指定私鑰文件的位置。
- -out my-csr.pem:指定了生成的證書(shū)簽名請(qǐng)求(CSR)的輸出文件路徑和文件名,這里是 my-csr.pem,表示在目錄下,文件名叫my-csr.pem。生成的 CSR 文件包含了公鑰以及與證書(shū)相關(guān)的信息,用于向證書(shū)頒發(fā)機(jī)構(gòu)申請(qǐng)簽發(fā)數(shù)字證書(shū)。
另外,在執(zhí)行生成證書(shū)簽名請(qǐng)求的命令時(shí),系統(tǒng)會(huì)提示你輸入一些信息,這些信息將被包含在你的證書(shū)請(qǐng)求中。那么輸入的這些信息是什么意思呢?且往下看:
圖片
- Country Name (2 letter code) [XX]:國(guó)家代碼,通常是兩個(gè)字母的國(guó)家縮寫(xiě)。我在這里輸入 "CN" 代表中國(guó)。
- State or Province Name (full name):州或省份名稱的全稱。我在這里輸入 "HN",代表河南。
- Locality Name (eg, city) [Default City]:地理位置名稱,例如城市。我在這里輸入 "ZZ",代表鄭州。
- Organization Name (eg, company) [Default Company Ltd]:組織名稱,例如公司名稱。我在這里輸入 "YZXA",代表組織或公司名稱。
- Organizational Unit Name (eg, section):組織單位名稱,例如部門(mén)。在這里輸入 "YZXA",代表組織單位名稱。
- Common Name (eg, your name or your server's hostname):通用名稱,可以是你的名字或服務(wù)器的主機(jī)名。我在這里輸入 "my-test",這個(gè)沒(méi)有具體含義。
- Email Address:電子郵件地址。在這里輸入 "fox9916@163.com",聯(lián)系郵箱地址。
- A challenge password:挑戰(zhàn)密碼,用于加密私鑰。在這里輸入 "fanfu",是為了保護(hù)私鑰而設(shè)置的密碼。
- An optional company name:可選的公司名稱。在這里輸入 "yzxa",代表與公司相關(guān)的信息。
生成自簽名證書(shū)
通過(guò)上面面兩步,鑰文件、證書(shū)簽名請(qǐng)求文件都有了,然后使用以下命令生成一個(gè)自簽名的 X.509 證書(shū)文件(例如 cert.pem),有效期可以根據(jù)需求自行調(diào)整:
#生成到根目錄下
openssl req -x509 -days 365 -key my-key.pem -in my-csr.pem -out my-cert.pem
#生成到/opt/ssl目錄下
openssl req -x509 -days 365 -key /opt/ssl/my-key.pem -in /opt/ssl/my-csr.pem -out /opt/ssl/my-cert.pem
在生成自簽名證書(shū)的命令中也有幾個(gè)關(guān)鍵參數(shù)信息:
- openssl req:表示要執(zhí)行 OpenSSL 的證書(shū)請(qǐng)求(req)操作。
- -x509:表示生成自簽名證書(shū)而不是證書(shū)簽名請(qǐng)求(CSR)。X.509是一種公鑰基礎(chǔ)設(shè)施(PKI)標(biāo)準(zhǔn),用于數(shù)字證書(shū)的格式和結(jié)構(gòu)。X.509證書(shū)包含了公鑰、證書(shū)所有者的信息、證書(shū)頒發(fā)機(jī)構(gòu)的信息以及數(shù)字簽名等內(nèi)容,用于實(shí)現(xiàn)安全通信和驗(yàn)證身份。
- -days 365:指定證書(shū)的有效期為365天,即一年。
- -key my-key.pem:指定了私鑰文件的路徑和文件名,這里是 my-key.pem。生成自簽名證書(shū)需要使用私鑰進(jìn)行簽名。
- -in my-csr.pem:指定了證書(shū)簽名請(qǐng)求(CSR)文件的路徑和文件名,這里是 my-csr.pem。該 CSR 包含了公鑰以及與證書(shū)相關(guān)的信息。
- -out my-cert.pem:指定了生成的自簽名證書(shū)的輸出文件路徑和文件名,這里是 my-cert.pem。生成的自簽名證書(shū)包含了公鑰、證書(shū)信息以及使用私鑰簽名后的數(shù)字簽名。
查看生成的證書(shū)
可以使用以下命令查看生成的證書(shū)內(nèi)容:
#查詢根目錄下的證書(shū)
openssl x509 -in my-cert.pem -text -noout
#查詢/opt/ssl目錄下的證書(shū)
openssl x509 -in /opt/ssl/my-cert.pem -text -noout
圖片
在根目錄下執(zhí)行l(wèi)s -l命令,可以看到ssl證書(shū)已經(jīng)生成了;
ls -l | grep my
my-cert.pem:自簽名的ssl證書(shū);
my-key.pem:私鑰文件;
my-csr.pem:證書(shū)簽名請(qǐng)求文件;
圖片
let's encrypt
Let's Encrypt 是一個(gè)免費(fèi)、自動(dòng)化的證書(shū)頒發(fā)機(jī)構(gòu),提供了簡(jiǎn)單、開(kāi)放、免費(fèi)的數(shù)字證書(shū)服務(wù)。以下是 Let's Encrypt 的一些關(guān)鍵特點(diǎn):
- 免費(fèi):Let's Encrypt 提供的證書(shū)完全免費(fèi),無(wú)需支付費(fèi)用即可獲取,使得網(wǎng)站加密變得更加容易和經(jīng)濟(jì)。
- 自動(dòng)化:Let's Encrypt 提供了自動(dòng)化的證書(shū)簽發(fā)和更新機(jī)制,可以通過(guò)軟件工具自動(dòng)獲取和更新證書(shū),無(wú)需人工干預(yù)。
- 開(kāi)放:Let's Encrypt 的所有軟件工具和證書(shū)簽發(fā)流程都是開(kāi)放源代碼的,任何人都可以查看和審查其代碼,確保了透明度和安全性。
- 支持HTTPS:Let's Encrypt 的證書(shū)可以用于啟用網(wǎng)站的 HTTPS 加密連接,保護(hù)用戶數(shù)據(jù)在傳輸過(guò)程中的安全性和隱私。
- 通用性:Let's Encrypt 的證書(shū)與所有現(xiàn)代瀏覽器和操作系統(tǒng)兼容,可以在各種平臺(tái)上廣泛使用。
- 聯(lián)盟支持:Let's Encrypt 得到了一些知名互聯(lián)網(wǎng)公司和組織的支持,如 Mozilla、Google、Cisco 等。
安裝 Certbot
Certbot 是 Let's Encrypt 提供的官方工具,用于自動(dòng)化獲取、驗(yàn)證和安裝 SSL 證書(shū),這里我使用的服務(wù)器操作系統(tǒng)是CentOS.
先添加 EPEL 存儲(chǔ)庫(kù):Certbot 可以從 EPEL 存儲(chǔ)庫(kù)中獲取。如果你的系統(tǒng)已經(jīng)安裝了 EPEL 存儲(chǔ)庫(kù),可以忽略這一步。如果尚未安裝,可以使用以下命令安裝:
sudo yum install epel-release
安裝 Certbot:一旦安裝了 EPEL 存儲(chǔ)庫(kù),就可以通過(guò)以下命令安裝 Certbot:
sudo yum install certbot
選擇驗(yàn)證方式
在獲取證書(shū)的過(guò)程中,Let's Encrypt 提供了多種驗(yàn)證方式,來(lái)驗(yàn)證你對(duì)域名的控制權(quán)。這里我使用的cert版本是certbot 1.11.0,有兩種驗(yàn)證方式:
圖片
Spin up a temporary webserver (standalone):通過(guò)臨時(shí)啟動(dòng)一個(gè) web 服務(wù)器來(lái)完成認(rèn)證。
工作過(guò)程:
- Certbot 會(huì)在你的服務(wù)器上臨時(shí)啟動(dòng)一個(gè)簡(jiǎn)單的 web 服務(wù)器,監(jiān)聽(tīng)80端口,該服務(wù)器僅用于在認(rèn)證期間提供 ACME 驗(yàn)證文件。
- 然后,證書(shū)頒發(fā)機(jī)構(gòu)(CA)將向該臨時(shí) web 服務(wù)器發(fā)送驗(yàn)證請(qǐng)求,并要求在特定的 URL 上放置特定的驗(yàn)證文件。
- Certbot 在收到驗(yàn)證請(qǐng)求后,會(huì)將驗(yàn)證文件放置在臨時(shí) web 服務(wù)器的指定路徑上,以完成驗(yàn)證。
- 一旦驗(yàn)證通過(guò),Certbot 將關(guān)閉臨時(shí) web 服務(wù)器,并從證書(shū)頒發(fā)機(jī)構(gòu)那里獲取 SSL 證書(shū)。
Place files in webroot directory (webroot):將認(rèn)證文件放置在 web 服務(wù)器的根目錄下完成認(rèn)證。
工作過(guò)程:
- 在這種方式下,你需要將你的 web 服務(wù)器配置為一個(gè)指定的根目錄,以便能夠從外部訪問(wèn)其中的文件。
- Certbot 將生成特定的驗(yàn)證文件,并將其保存在你 web 服務(wù)器的根目錄中(通常是通過(guò)文件系統(tǒng)的操作實(shí)現(xiàn))。
- 然后,證書(shū)頒發(fā)機(jī)構(gòu)(CA)將嘗試從互聯(lián)網(wǎng)上訪問(wèn)這些文件,以完成認(rèn)證流程。
- 一旦認(rèn)證通過(guò),Certbot 將從證書(shū)頒發(fā)機(jī)構(gòu)那里獲取 SSL 證書(shū),并將其保存到指定的位置供你使用。
standalone和webroot方式有什么區(qū)別?
這兩種認(rèn)證方式在工作原理和最終目的上是相同的,都是為了完成對(duì)域名的控制權(quán)驗(yàn)證以獲取 SSL 證書(shū)。然而,它們之間存在一些關(guān)鍵區(qū)別:
Standalone 模式:
- 臨時(shí)啟動(dòng)一個(gè)獨(dú)立的 web 服務(wù)器來(lái)處理驗(yàn)證請(qǐng)求。
- 不需要依賴現(xiàn)有的 web 服務(wù)器或文件結(jié)構(gòu),適用于沒(méi)有現(xiàn)成 web 服務(wù)器或無(wú)法修改現(xiàn)有配置的情況。
- 但是需要注意的是,在使用 Standalone 模式時(shí),確保 80 端口和 443 端口都沒(méi)有被占用,以便 Certbot 啟動(dòng)臨時(shí)的 HTTPS 服務(wù)器進(jìn)行驗(yàn)證,否則可能會(huì)導(dǎo)致端口沖突,如下圖。
圖片
Webroot 模式:
- 將驗(yàn)證文件放置在現(xiàn)有 web 服務(wù)器的根目錄下進(jìn)行驗(yàn)證。
- 需要有現(xiàn)有的 web 服務(wù)器且能夠修改其配置來(lái)指定驗(yàn)證文件的位置。
- 更容易集成到已有的 web 服務(wù)器環(huán)境中,不會(huì)引起端口沖突。
建議:如果你有現(xiàn)成的 web 服務(wù)器并且能夠修改其配置,通常推薦使用 Webroot 模式。如果你的環(huán)境中沒(méi)有現(xiàn)成的 web 服務(wù)器或者無(wú)法修改配置,則可以選擇 Standalone 模式來(lái)完成 SSL 證書(shū)的獲取
運(yùn)行 Certbot
在正式運(yùn)行certbot,開(kāi)始獲取證書(shū)前,需要做一點(diǎn)準(zhǔn)備工作:
確定80、443端口可以通過(guò)防火墻
sudo firewall-cmd --list-port
如果80、443端口不能通過(guò)防火墻,可以依次執(zhí)行下面的命令開(kāi)放端口權(quán)限
sudo firewall-cmd --permanent --znotallow=public --add-port=80/tcp
確定https服務(wù)可以通過(guò)防火墻
sudo firewall-cmd --list-service
如果https不能通過(guò)防火墻,可以依次執(zhí)行下面的命令開(kāi)放服務(wù)權(quán)限
sudo firewall-cmd --permanent --add-service=https
通常情況下,數(shù)字證書(shū)只會(huì)分布給正常的域名服務(wù),不會(huì)頒布給IP地址,你需要準(zhǔn)備一個(gè)能夠正常訪問(wèn)的域名;所以這里我是這樣做的:
我使用了一個(gè)名字叫做Natapp的內(nèi)網(wǎng)穿透工具,在這個(gè)工具上的申請(qǐng)一個(gè)免費(fèi)隧道,申請(qǐng)成功后配置一下映射到的本地的IP和端口,在服務(wù)器上啟動(dòng)natapp的客戶端軟件,客戶端軟件啟動(dòng)成功后,會(huì)分配一個(gè)隨機(jī)域名映射本地ip上,通過(guò)隨機(jī)分配的域名就可以把本地環(huán)境暴露到公網(wǎng)上,后面將針對(duì)這個(gè)隨機(jī)的域名來(lái)獲取一個(gè)免費(fèi)的SSL證書(shū);(這里需要提醒的是即使拿到ssl證書(shū),也用不了,因?yàn)槊赓M(fèi)用戶不能使用https訪問(wèn),除非升級(jí)VIP);
Natapp官網(wǎng)地址:https://natapp.cn/
圖片
圖片
圖片
在免費(fèi)隧道配置頁(yè)里配置好本地IP和要映射的端口,保存后會(huì)分配 個(gè)authtoken,這個(gè)后面啟動(dòng)客戶端軟件的時(shí)候要用;
下載客戶端軟件,并上傳服務(wù)器的/opt目錄下;
在/opt目錄下執(zhí)行下面的命令來(lái)啟動(dòng)natapp,這里就用到上面提到的authtoken;
./natapp -authtoken=xxxxx
natapp啟動(dòng)成功后的樣子,本地IP地址192.168.111.166,80端口被映射到了unp8pa.natappfree.cc這個(gè)域名上;
圖片
到這里準(zhǔn)備工作差不多了,再梳理一下準(zhǔn)備了哪些內(nèi)容:
- 防火墻開(kāi)通80、443端口、https訪問(wèn);
- 一個(gè)可以正常正常訪問(wèn)的域名(natapp給的隨機(jī)域名,natapp重啟后,會(huì)變化的)
在上面選擇驗(yàn)證方式部分,已經(jīng)簡(jiǎn)單講了一下certbot獲取數(shù)字證書(shū)的過(guò)程中的兩種驗(yàn)證方式的工作過(guò)程,下面的示例我選擇使用Certbot 的 certonly 模式,手動(dòng)獲取 SSL 證書(shū):
certbot certonly
這是一個(gè)交互式的命令,正常情況下需要兩步就可以得SSL證書(shū),第一步:選擇驗(yàn)證方式;第二步:輸入準(zhǔn)備好的有效域名;如果是certbot安裝后的第一次使用,可能還會(huì)要求輸入一個(gè)聯(lián)系郵箱地址;
圖片
這里解讀一下,這段交互內(nèi)容包含了哪些關(guān)鍵信息和過(guò)程:
- Saving debug log to /var/log/letsencrypt/letsencrypt.log:這是 certbot 正在保存調(diào)試日志到指定目錄的提示。
- How would you like to authenticate with the ACME CA?:certbot 詢問(wèn)你想要如何與 ACME CA(Let's Encrypt)進(jìn)行認(rèn)證。
- 1: Spin up a temporary webserver (standalone) 和 2: Place files in webroot directory (webroot):展示了兩種認(rèn)證方式,一種是通過(guò)在臨時(shí) web 服務(wù)器上進(jìn)行認(rèn)證,另一種是將文件放置在 web 根目錄下進(jìn)行認(rèn)證。你選擇了第一種方式(standalone)。
- Requesting a certificate for unp8pa.natappfree.cc:certbot 開(kāi)始為你請(qǐng)求 unp8pa.natappfree.cc 的證書(shū)。
- Performing the following challenges: http-01 challenge for unp8pa.natappfree.cc:certbot 正在執(zhí)行 HTTP-01 挑戰(zhàn),這是 Let's Encrypt 使用的一種驗(yàn)證方法,用于確認(rèn)你對(duì)該域名的控制權(quán)。
- IMPORTANT NOTES: 之后列出了幾個(gè)重要的提示:
Congratulations! Your certificate and chain have been saved at::恭喜你,你的證書(shū)和證書(shū)鏈已經(jīng)保存在指定的路徑下。
/etc/letsencrypt/live/unp8pa.natappfree.cc/fullchain.pem:證書(shū)鏈的路徑。
/etc/letsencrypt/live/unp8pa.natappfree.cc/privkey.pem:私鑰的路徑。
Your certificate will expire on 2024-06-24.:你的證書(shū)將在 2024 年 6 月 24 日到期。
To obtain a new or tweaked version of this certificate in the future, simply run certbot again.:如果需要獲取新的證書(shū)或者修改當(dāng)前證書(shū),在未來(lái)只需要再次運(yùn)行 certbot。
To non-interactively renew all of your certificates, run "certbot renew":如果需要無(wú)需交互地更新所有證書(shū),可以運(yùn)行 "certbot renew" 命令。
最后是一些關(guān)于支持 certbot 和 Let's Encrypt 的捐贈(zèng)鏈接,以及 certbot 的工作結(jié)束提示。
進(jìn)到/etc/letsencrypt/live/unp8pa.natappfree.cc目錄查看一證書(shū)文件,確實(shí)已經(jīng)生成:
執(zhí)行cat /etc/letsencrypt/live/unp8pa.natappfree.cc/README,查看README的內(nèi)容,可以看到這幾個(gè)文件的解釋?zhuān)?/p>
cat /etc/letsencrypt/live/unp8pa.natappfree.cc/README
- privkey.pem:是用于你證書(shū)的私鑰,用于加密和解密通信內(nèi)容。
- fullchain.pem:是證書(shū)文件,通常在大多數(shù)服務(wù)器軟件中使用,包含了你的證書(shū)以及中間證書(shū)(intermediate certificate)鏈。
- chain.pem:用于在 Nginx 版本大于等于 1.3.7 中進(jìn)行 OCSP Stapling(在線證書(shū)狀態(tài)協(xié)議)的設(shè)置,可以提高證書(shū)驗(yàn)證的效率和安全性。
- cert.pem:原文的解釋是:該文件可能會(huì)破壞許多服務(wù)器的配置,因此在使用之前建議仔細(xì)閱讀更多相關(guān)文檔,需要注意的是,如果沒(méi)有進(jìn)一步的了解和配置,最好不要使用該文件。看著就感覺(jué)很重要。事實(shí)上確實(shí)重要。cert.pem 文件是 SSL 證書(shū)鏈中的證書(shū)文件,包含了你的域名證書(shū)以及中間證書(shū)(intermediate certificate)。這個(gè)文件通常用于在服務(wù)器軟件(如 Nginx、Apache 等)中配置 SSL/TLS 加密連接。在證書(shū)鏈中,cert.pem 文件處于完整證書(shū)鏈的中間位置,用于構(gòu)建信任鏈并確??蛻舳四軌蝌?yàn)證你的 SSL 證書(shū)的有效性。因此,cert.pem 文件是 SSL/TLS 加密連接中的一個(gè)重要組成部分,它將你的域名證書(shū)與中間證書(shū)鏈接在一起,以確保瀏覽器和客戶端能夠正確地驗(yàn)證和信任你的 SSL 證書(shū)。
配置服務(wù)器
Certbot 在成功獲取證書(shū)后,在你的 Web 服務(wù)器(如 Apache、Nginx 等)配置這些證書(shū),配置完成后,重啟web服務(wù)器,就可以通過(guò)HTTPS安全的訪問(wèn)網(wǎng)站了;
還記得不?客戶端瀏覽器是會(huì)檢查證書(shū)中的主機(jī)名與客戶端正在連接的服務(wù)器主機(jī)名是否匹配。如果你在web服務(wù)器軟件上配置的主機(jī)名和申請(qǐng)證書(shū)時(shí)用到的域名不一致就會(huì)有下面的提示:
圖片
定期更新證書(shū)
Let's Encrypt 的證書(shū)有效期為90天,你需要定期更新證書(shū)以確保持續(xù)的加密連接。Certbot 可以自動(dòng)處理證書(shū)的更新工作。
1、打開(kāi) Crontab 編輯器,運(yùn)行以下命令來(lái)編輯當(dāng)前用戶的 Crontab 文件:
crontab -e
2、添加定時(shí)任務(wù),在打開(kāi)的 Crontab 編輯器中,添加以下內(nèi)容來(lái)創(chuàng)建一個(gè)每月執(zhí)行一次的任務(wù):
0 0 1 * * /usr/bin/certbot renew --quiet
這行指令表示在每個(gè)月的1號(hào)的凌晨0點(diǎn)0分執(zhí)行 ,/usr/bin/certbot是certbot在服務(wù)器上安裝路徑;3、保存你的修改并退出編輯器。
4、查看crontab任務(wù)是否成功創(chuàng)建
crontab -l
圖片
阿里云
自2021年01月01日起,每個(gè)阿里云個(gè)人或企業(yè)用戶(以實(shí)名認(rèn)證為準(zhǔn))每年可以一次性申請(qǐng)20張免費(fèi)Digicert DV單域名試用證書(shū)。據(jù)阿里云官網(wǎng)介紹免費(fèi)證書(shū)一般僅用于個(gè)人網(wǎng)站或測(cè)試使用,不建議業(yè)務(wù)成熟的企業(yè)類(lèi)型網(wǎng)站使用。如果你使用的是企業(yè)類(lèi)型網(wǎng)站,建議購(gòu)買(mǎi)付費(fèi)證書(shū)。對(duì)于政府、金融、電子商務(wù)、醫(yī)療等組織或機(jī)構(gòu),推薦使用OV型證書(shū)或安全等級(jí)較高的EV型證書(shū)。
阿里云的SSL免費(fèi)證書(shū)與付費(fèi)證書(shū)的區(qū)別
圖片
領(lǐng)取與使用規(guī)則
- 每個(gè)阿里云個(gè)人或企業(yè)用戶(以實(shí)名認(rèn)證為準(zhǔn)),在每一個(gè)自然年內(nèi),可以通過(guò)數(shù)字證書(shū)管理服務(wù)的免費(fèi)證書(shū)購(gòu)買(mǎi)頁(yè),免費(fèi)獲取20個(gè)DV單域名證書(shū)。自然年是每年的01月01日~12月31日。免費(fèi)領(lǐng)取的證書(shū)資源包在每個(gè)自然年末將未申請(qǐng)的額度清零(每年12月31日24:00:00,已簽發(fā)的證書(shū)不受影響),你需要等到第二年的1月1日00:00:00后申請(qǐng)領(lǐng)取當(dāng)年的免費(fèi)證書(shū)資源包
- 同一實(shí)名認(rèn)證的企業(yè)主體下有多個(gè)阿里云賬號(hào)時(shí),僅支持其中一個(gè)賬號(hào)一次性申領(lǐng)20張免費(fèi)證書(shū)
- 免費(fèi)證書(shū)僅支持綁定一個(gè)單域名,不支持綁定通配符域名或者IP。不支持后綴為特殊詞的域名申請(qǐng)免費(fèi)證書(shū)。此類(lèi)特殊詞包括但不限于:.edu、.gov、.org、.jp、.pay、.bank、.live和.nuclear
- 免費(fèi)證書(shū)不支持多張證書(shū)合并等高級(jí)特性
- 免費(fèi)證書(shū)不支持任何免費(fèi)的人工技術(shù)支持或安裝指導(dǎo)
- 免費(fèi)證書(shū)吊銷(xiāo)成功后,不會(huì)返還消耗的免費(fèi)證書(shū)個(gè)數(shù)。
- 免費(fèi)SSL證書(shū)領(lǐng)取后不支持取消訂單。
- 證書(shū)服務(wù)周期支持3個(gè)月,過(guò)期后須重新申請(qǐng)和安裝證書(shū)
- 在免費(fèi)證書(shū)即將過(guò)期時(shí)(即證書(shū)剩余有效期小于30個(gè)自然日),可以使用剩余的免費(fèi)證書(shū)個(gè)數(shù)申請(qǐng)簽發(fā)新的免費(fèi)證書(shū),替換即將過(guò)期的證書(shū)。
領(lǐng)取入口:
圖片
圖片
領(lǐng)取免費(fèi)的證書(shū)完成后,提交申請(qǐng),使用證書(shū)
圖片