在Linux系统中配置LNMP(Linux, Nginx, MySQL, PHP)的SSL证书,通常需要以下几个步骤:
获取SSL证书: 你可以从证书颁发机构(CA)购买SSL证书,或者使用免费的Let’s Encrypt证书。以下是使用Certbot(一个自动化的Let’s Encrypt客户端)获取证书的示例:
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
在执行上述命令时,Certbot会自动配置Nginx以使用SSL证书,并创建一个名为/etc/letsencrypt
的目录来存储证书和相关文件。
配置Nginx:
Certbot会自动修改Nginx配置文件以启用SSL。你可以在/etc/nginx/sites-available
目录下找到你的站点配置文件。确保以下配置项已正确设置:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
# 其他配置项...
}
请确保将yourdomain.com
和www.yourdomain.com
替换为你的实际域名。
重启Nginx: 在修改配置文件后,重启Nginx以使更改生效:
sudo systemctl restart nginx
测试SSL配置: 使用SSL实验室的SSL服务器测试工具(https://www.ssllabs.com/ssltest/)检查你的SSL配置是否正确。这个工具会提供一个详细的报告,指出任何潜在的问题。
完成以上步骤后,你的Linux LNMP环境应该已经成功配置了SSL证书。现在,当用户访问你的网站时,浏览器将显示一个安全的连接(HTTPS)。