在Ubuntu上配置LNMP(Linux, Nginx, MySQL, PHP)环境的SSL证书,通常需要以下几个步骤:
获取SSL证书:
安装Certbot:
sudo apt update
sudo apt install certbot python3-certbot-nginx
获取并安装SSL证书:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
这个命令会自动配置Nginx以使用SSL,并且会创建一个Nginx配置文件来处理HTTPS请求。
验证配置:
https://yourdomain.com
来验证SSL证书是否正确安装。自动续期: Let’s Encrypt的证书有效期是90天,Certbot会自动设置一个cron任务来每天检查证书是否需要续期,并在到期前自动续期。
sudo systemctl status certbot.timer
手动续期(如果需要): 如果你想手动续期证书,可以运行以下命令:
sudo certbot renew --dry-run
如果一切正常,运行:
sudo certbot renew
配置Nginx以强制HTTPS: 为了确保所有的流量都通过HTTPS,你可以在Nginx配置文件中添加一个重定向规则。
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
重启Nginx: 每次修改Nginx配置文件后,都需要重启Nginx服务:
sudo systemctl restart nginx
通过以上步骤,你应该能够在Ubuntu上成功配置LNMP环境的SSL证书。如果你遇到任何问题,可以查看Certbot和Nginx的日志文件来获取更多信息。