在CentOS上为Nginx启用SSL,你需要遵循以下步骤:
如果你还没有安装Nginx,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install nginx
你可以从Let’s Encrypt免费获取SSL证书,或者购买一个商业证书。以下是使用Let’s Encrypt的步骤:
Certbot是一个自动化的工具,可以帮助你获取和续订Let’s Encrypt证书。
sudo yum install certbot python2-certbot-nginx
然后运行Certbot来获取证书:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Certbot会自动配置Nginx并重启服务。
如果你不想使用Certbot,也可以手动配置SSL。以下是步骤:
sudo mkdir /etc/nginx/ssl
你可以从Let’s Encrypt获取证书和密钥,或者从你的证书提供商获取。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/yourdomain.com.key -out /etc/nginx/ssl/yourdomain.com.crt
按照提示输入相关信息。
编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf。
sudo vi /etc/nginx/conf.d/default.conf
添加以下内容:
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/nginx/ssl/yourdomain.com.crt;
ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
确保将yourdomain.com替换为你的实际域名。
sudo nginx -t
sudo systemctl reload nginx
打开浏览器,访问https://yourdomain.com,你应该能看到一个安全的连接。
如果你使用Certbot获取了Let’s Encrypt证书,Certbot会自动设置一个cron任务来定期续订证书。你可以手动测试续订过程:
sudo certbot renew --dry-run
如果没有问题,Certbot会自动续订证书。
通过以上步骤,你应该能够在CentOS上成功启用Nginx的SSL。