Certbot是一個易於使用的自動客戶端,可為您的Web伺服器提取和部署SSL / TLS證書。
獲取certbot-auto
wget https://dl.eff.org/certbot-auto
給certbot-auto加執行許可權
chmod a+x certbot-auto
執行生成證書
./certbot-auto certonly --webroot
-w 你的網站目錄
-d 你的域名
-m 你的郵箱
--agree-tos
引數說明:通過 ./certbot-auto –help all 可以檢視所有支援的子命令和引數。
- –standalone模式:需要停止當前的webserver服務,讓出80埠,由客戶端內建的web server啟動與Let`s Encrypt通訊。
- –webroot模式:不需要停止當前webserver,但需要在域名根目錄下建立一個臨時目錄,並要保證外網通過域名可以訪問這個目錄。
- -w 指定網站所在目錄
- -d 指定網站域名
- -m 指定聯絡郵箱,letsencrypt會在證書過期前傳送預告的通知郵件
- –agree-tos 表示接受相關協議
配置apache、nginx相關檔案
apache配置:
<VirtualHost *:443>
ServerName 你的域名:443
DocumentRoot "你的網站目錄"
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/DIR/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/DIR/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/DIR/chain.pem
</VirtualHost>
nginx配置:(可直接複製下面放到nginx.conf中)
server
{
listen 443 ssl http2;
ssl_certificate /etc/letsencrypt/live/DIR/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/DIR/privkey.pem;
}
DIR表示你自己的域名
Tips
如果伺服器沒有開啟443埠,可執行下面命令開啟
開啟443埠
firewall-cmd –permanent –add-port=443/tcp
檢視是否開啟
firewall-cmd –permanent –query-port=443/tcp
埠新增成功後,防火牆需要重新整理
firewall-cmd –reload