linux環境使用Certbot配置https

Soulding發表於2019-01-19

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

相關文章