在當今互聯網環境中,HTTPS已經成為網站安全的標準配置。Let’s Encrypt免費、自動化、開放的證書頒發機構(CA),為廣大網站管理員提供了便捷的HTTPS證書申請途徑。特別是其支持的通配符證書(Wildcard Certificate),可以為一個域名及其所有子域名提供HTTPS加密,極大地簡化了證書管理流程。本文將詳細介紹如何申請Let’s Encrypt通配符HTTPS證書。
在開始申請之前,確保你已經具備以下條件:
Certbot是Let’s Encrypt官方推薦的客戶端工具,用于自動化證書的申請和管理。首先,我們需要在服務器上安裝Certbot。
sudo apt update
sudo apt upgrade
sudo apt install certbot python3-certbot-nginx
如果你使用的是Apache服務器,可以安裝python3-certbot-apache。
通配符證書的申請需要使用DNS-01挑戰驗證,這意味著你需要通過添加DNS TXT記錄來證明你對域名的控制權。
大多數DNS服務提供商都支持API訪問,你需要獲取API憑證以便Certbot自動添加DNS記錄。以Cloudflare為例:
Certbot支持多種DNS插件,這里以Cloudflare為例:
sudo apt install python3-certbot-dns-cloudflare
創建一個文件來存儲你的API憑證:
sudo mkdir -p /etc/letsencrypt/secrets
sudo nano /etc/letsencrypt/secrets/cloudflare.ini
在文件中添加以下內容:
dns_cloudflare_email = your_email@example.com
dns_cloudflare_api_key = your_api_key
保存并退出。
使用以下命令申請通配符證書:
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/secrets/cloudflare.ini -d example.com -d *.example.com
Certbot會自動完成DNS記錄的添加和驗證,并生成證書文件。
證書申請成功后,需要配置Web服務器以使用新證書。
編輯Nginx配置文件:
sudo nano /etc/nginx/sites-available/example.com
在server塊中添加以下內容:
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
保存并退出,然后重啟Nginx:
sudo systemctl restart nginx
編輯Apache配置文件:
sudo nano /etc/apache2/sites-available/example.com.conf
在<VirtualHost>塊中添加以下內容:
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
保存并退出,然后重啟Apache:
sudo systemctl restart apache2
Let’s Encrypt證書的有效期為90天,因此需要定期續期。Certbot提供了自動續期功能。
sudo certbot renew --dry-run
如果測試成功,Certbot將自動在證書到期前續期。
編輯crontab:
sudo crontab -e
添加以下內容:
0 0 * * * /usr/bin/certbot renew --quiet
這將每天午夜檢查并續期即將到期的證書。
通過本文的指導,你應該已經成功申請并配置了Let’s Encrypt的通配符HTTPS證書。通配符證書不僅簡化了證書管理流程,還提高了網站的安全性。定期檢查和續期證書是確保網站持續安全運行的關鍵步驟。希望本文對你有所幫助,祝你順利完成HTTPS配置!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。