在CentOS上配置LNMP(Linux, Nginx, MySQL, PHP)环境的SSL,通常涉及以下几个步骤:
获取SSL证书:
安装Certbot:
sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx
获取并安装SSL证书:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
这个命令会自动配置Nginx来使用SSL,并且会创建一个Nginx配置文件片段来处理HTTPS请求。
测试配置并重启Nginx:
sudo nginx -t
sudo systemctl restart nginx
配置防火墙: 如果你使用的是firewalld,需要允许HTTPS流量:
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
设置自动续期: Certbot会创建一个cron任务或者systemd定时器来自动续期证书。你可以检查这个状态:
sudo certbot renew --dry-run
配置HSTS(可选): 为了提高安全性,你可以在Nginx配置中添加HSTS头:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
将这行添加到你的Nginx配置文件中的server
块里。
配置OCSP Stapling(可选): OCSP Stapling可以提高SSL握手速度并减少服务器的负载。在Nginx配置中添加以下内容:
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
重启Nginx以应用更改:
sudo systemctl restart nginx
请确保将yourdomain.com
和www.yourdomain.com
替换为你的实际域名。这些步骤应该可以帮助你在CentOS上配置LNMP环境的SSL。记得在配置过程中检查Nginx的错误日志,如果有任何问题,日志通常会提供解决线索。