在Ubuntu上配置LNMP(Linux, Nginx, MySQL, PHP)的SSL證書可以通過以下步驟完成。我們將使用Let’s Encrypt提供的免費SSL證書。
Certbot是一個自動化的工具,用于獲取和續訂Let’s Encrypt證書。
sudo apt update
sudo apt install certbot python3-certbot-nginx
使用Certbot獲取SSL證書。運行以下命令并按照提示操作:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
--nginx 參數告訴Certbot自動配置Nginx。-d yourdomain.com 和 -d www.yourdomain.com 是你的域名。Certbot會自動創建一個Nginx配置文件,并將SSL證書和私鑰文件放在 /etc/letsencrypt/live/yourdomain.com/ 目錄下。
Certbot會自動測試Nginx配置是否正確。如果有錯誤,它會提示你修復。
sudo nginx -t
如果沒有錯誤,重新加載Nginx以應用更改:
sudo systemctl reload nginx
Let’s Encrypt證書每90天過期一次,Certbot可以自動續訂證書。
sudo crontab -e
在打開的編輯器中添加以下行:
0 0,12 * * * certbot renew --post-hook "systemctl reload nginx"
這行命令會在每天午夜和中午檢查證書是否需要續訂,并在續訂后重新加載Nginx。
保存并關閉編輯器。
你可以使用瀏覽器訪問你的域名,確保瀏覽器顯示安全連接(鎖形圖標)。你也可以使用以下命令檢查SSL配置:
sudo openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
如果一切正常,你應該看到SSL握手成功的信息。
通過以上步驟,你已經在Ubuntu上成功配置了LNMP的SSL證書?,F在你的網站應該通過HTTPS提供服務,并且用戶訪問時會看到安全連接的提示。