使用Certbot獲取Let's Encrypt免費Https證書

因為阿里云的云主機在沒有備案的情況下(備案比較復雜且無用), 80端口是關閉的, 這就導致想訪問你的網址就必須在域名后加上端口號,非常不優雅.然而https默認監聽443端口,這就給了我們一個方法去優雅的開放網站.
如果我們要啟用 HTTPS,就需要從證書授權機構(以下簡稱 CA ) 處獲取一個證書,Let's Encrypt 就是一個 CA。
Let's Encrypt 是一個免費、開放,自動化的證書頒發機構。
Certbot 是 Let’s Encrypt 官方推薦的證書生成客戶端工具

安裝Certbot

git clone https://github.com/certbot/certbot
或者
sudo apt-get install certbot

獲取證書

Certbot 獲取證書有兩種方式

webroot模式

這種模式適用于80端口在用且服務已經在運行的情況
sudo certbot certonly --webroot -w /var/www/example -d example.com --agree-tos --email 你的@郵箱.com
這種模式會在 /var/www/example 中創建 .well-known 文件夾,這個文件夾里面包含了一些驗證文件,letsencrypt 會通過訪問 example.com/.well-known/acme-challenge 來驗證你的域名是否綁定的這個服務器

  • --email 指定賬戶
  • --agree-tos 同意服務協議

standalone模式

這種模式適用于80端口無法啟用或者已啟用服務沒有根目錄的情況
sudo certbot certonly --standalone -d example.com --agree-tos --email 你的@郵箱.com
ps.此模式需先關閉443端口在用的nginx,不然會出現錯誤:
Problem binding to port 443: Could not bind to IPv4 or IPv6.

證書申請成功后會提示證書的文件路徑,以及證書到期時間:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/zhengwuyang.top/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/zhengwuyang.top/privkey.pem
   Your cert will expire on .......

zhengwuyang.top即為你的域名

nginx配置

在配置文件中加入

    listen         443;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/zhengwuyang.top/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/zhengwuyang.top/privkey.pem;

zhengwuyang.top即為你的域名

重啟nginx就大功告成

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容