溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何安裝并申請(qǐng)Let's Encrypt證書(shū)

發(fā)布時(shí)間:2021-10-09 14:56:12 來(lái)源:億速云 閱讀:204 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容介紹了“如何安裝并申請(qǐng)Let's Encrypt證書(shū)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

問(wèn)題描述

該筆記將記錄:在 Linux 中,如何安裝 Certbot 工具,并使用它申請(qǐng)證書(shū),以及相關(guān)問(wèn)題的處理。

解決方案

注意事項(xiàng)

該部分內(nèi)容屬于簡(jiǎn)述,詳細(xì)內(nèi)容請(qǐng)參考 certbot instructions 官方頁(yè)面,依據(jù)提示操作即可。以下是操作大致流程:
1)選擇站點(diǎn)服務(wù)器軟件,以及操作系統(tǒng)發(fā)行版
2)查看是否滿足條件
3)依據(jù)提示安裝軟件包
4)執(zhí)行命令生成證書(shū)
5)訪問(wèn)站點(diǎn)以檢查證書(shū)是否生效
6)添加定時(shí)任務(wù)以實(shí)現(xiàn)證書(shū)自動(dòng)續(xù)期

on Debian GNU/Linux 10 (buster)

# 環(huán)境設(shè)置
apt update
apt install python3 python3-venv libaugeas0

# 安裝 certbot 命令
python3 -m venv /srv/certbot/
/srv/certbot/bin/pip install --upgrade pip
/srv/certbot/bin/pip install certbot
ln -s /srv/certbot/bin/certbot /usr/bin/certbot

# 證書(shū)申請(qǐng)操作
...

# 定時(shí)任務(wù),以完成證書(shū)自動(dòng)續(xù)期
echo "0 0,12 * * * root /srv/certbot/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q --post-hook 'systemctl reload nginx'" \
    | sudo tee -a /etc/crontab > /dev/null

on CentOS 7.4 with PIP3.6

經(jīng)驗(yàn):這種東西就應(yīng)該在虛擬環(huán)境里搞,但凡與應(yīng)用有關(guān)且與系統(tǒng)管理無(wú)關(guān)的 Python 應(yīng)用,都應(yīng)該在虛擬環(huán)境里搞。要是在系統(tǒng)環(huán)境里搞,直接 yum install,pip2.7 install,等著吧,早晚有難受的時(shí)候。

我們并沒(méi)有在虛擬環(huán)境里,因?yàn)橄到y(tǒng)沒(méi)有使用 Python 3.6 環(huán)境,因此我們可以直接使用:

pip3.6 install certbot certbot-nginx certbot-dns-aliyun

Certbot 1.0.0 on CentOS 7.4

################################################################################
# 安裝 Certbot 工具
################################################################################

# 安裝相關(guān)軟件包
yum install -y epel-release
yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

# 安裝并獲取證書(shū)
yum install certbot python2-certbot-nginx

################################################################################
# 申請(qǐng)證書(shū)并配置
################################################################################

# 申請(qǐng) Nginx 證書(shū),并自動(dòng)修改 Nginx 配置
certbot --nginx

# 僅僅生成證書(shū),不修改配置
# certbot certonly --nginx

# 配置證書(shū)自動(dòng)續(xù)期
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" \
    | tee -a /etc/crontab > /dev/null

################################################################################
# 驗(yàn)證配置正確
################################################################################

# 訪問(wèn)站點(diǎn)確認(rèn) HTTPS 是否生效

Certbot on Debian 8 (jessie)

################################################################################
## 第一步、安裝 Certbot 工具
################################################################################

apt-get remove certbot
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

################################################################################
## 第二步、申請(qǐng)證書(shū)并配置
################################################################################

# 申請(qǐng)證書(shū)
/usr/local/bin/certbot-auto --nginx
# /usr/local/bin/certbot-auto certonly --nginx # 或者僅僅生成證書(shū),不修改配置

# 配置證書(shū)自動(dòng)續(xù)期
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew" \
    | tee -a /etc/crontab > /dev/null

################################################################################
## 第三步、驗(yàn)證配置正確
################################################################################
# 訪問(wèn)站點(diǎn),以確認(rèn) HTTPS 是否生效

附加說(shuō)明

自動(dòng)重啟服務(wù)

在自動(dòng)證書(shū)續(xù)期后,可能需要重啟服務(wù)以加載證書(shū):

certbot -q renew --renew-hook "/etc/init.d/nginx reload"

關(guān)于定時(shí)任務(wù)

定時(shí)任務(wù)用于完成證書(shū)續(xù)期。其中 sleep() 以秒為單位,random() 在 0-1 之間,因此每天 12:00、00:00 執(zhí)行,在執(zhí)行時(shí),最多休眠 1 小時(shí)。

常見(jiàn)問(wèn)題匯總

卡在 installing python packages 步驟

no response "Installing Python packages" #2516

問(wèn)題描述:在Debian中,執(zhí)行/usr/local/bin/certbot-auto --nginx命令后,它會(huì)調(diào)用pip命令安裝相關(guān)Python包,這是時(shí)候會(huì)卡住。

問(wèn)題原因:在執(zhí)行pip命令時(shí),它訪問(wèn)官方倉(cāng)庫(kù),由于網(wǎng)絡(luò)原因?qū)е聼o(wú)法正常快速下載。

解決辦法:修改$HOME/.pip/pip.conf文件,配置如下內(nèi)容(使用阿里云鏡像):

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

“如何安裝并申請(qǐng)Let's Encrypt證書(shū)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI