在CentOS上安装Nginx SSL证书的步骤如下:
首先,你需要从证书颁发机构(CA)获取SSL证书。通常,你会收到以下文件:
your_domain.crt)your_domain.key)ca_bundle.crt)如果你还没有安装Nginx,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install nginx
编辑Nginx配置文件,通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf。你可以使用以下命令打开配置文件:
sudo vi /etc/nginx/conf.d/default.conf
在 server 块中添加或修改以下内容:
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /path/to/your_domain.crt;
ssl_certificate_key /path/to/your_domain.key;
ssl_trusted_certificate /path/to/ca_bundle.crt;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /var/www/html;
index index.html index.htm;
}
# 其他配置...
}
确保将 /path/to/your_domain.crt、/path/to/your_domain.key 和 /path/to/ca_bundle.crt 替换为实际的文件路径。
在重新加载Nginx之前,检查配置文件是否有语法错误:
sudo nginx -t
如果配置文件没有问题,你会看到类似以下的输出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新加载Nginx以应用新的配置:
sudo systemctl reload nginx
你可以使用浏览器访问你的域名,检查是否正确显示了SSL证书。或者使用以下命令验证:
curl -v https://your_domain.com
你应该能看到SSL握手和证书信息。
如果你使用的是Let’s Encrypt等支持自动续期的证书颁发机构,可以设置一个cron任务来自动续期证书。例如:
sudo crontab -e
添加以下行:
0 0 1 * * /usr/bin/certbot renew --post-hook "systemctl reload nginx"
这将在每月的第一天检查并续期证书,并在续期后重新加载Nginx。
通过以上步骤,你应该能够在CentOS上成功安装和配置Nginx SSL证书。