配置 SSL 证书是让 Nginx 支持 HTTPS 安全连接的关键步骤。下面是在 CentOS 上配置 Nginx SSL 证书的一般步骤:
- 获取 SSL 证书:
在购买或获取免费 SSL 证书后,你会得到两个文件:一个是以 “.crt” 结尾的公钥证书文件,另一个是以 “.key” 结尾的私钥文件。确保这两个文件可用,并且将它们上传到服务器上。 - 创建一个存放 SSL 证书的目录:
在服务器上创建一个目录用于存放 SSL 证书文件。一般来说,你可以在 Nginx 的配置目录下创建一个名为 “ssl” 的目录,并将证书文件放在其中。
sudo mkdir /etc/nginx/ssl
- 复制证书文件到指定目录:
将你获取的 SSL 证书文件(.crt 和 .key 文件)复制到创建的目录中。假设你的证书文件名分别为 “example.crt” 和 “example.key”,可以使用以下命令:
sudo cp example.crt example.key /etc/nginx/ssl/
- 配置 Nginx 的虚拟主机:
打开 Nginx 的配置文件,通常在/etc/nginx/nginx.conf
或/etc/nginx/sites-available/default
。在配置文件中找到你的虚拟主机配置块。 在虚拟主机配置块中添加以下 SSL 相关配置:
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /etc/nginx/ssl/example.crt;
ssl_certificate_key /etc/nginx/ssl/example.key;
# 其他 Nginx 配置项...
}
替换 your_domain.com
为你的域名,确保 ssl_certificate
和 ssl_certificate_key
指向你存放 SSL 证书的目录和文件名。
- 配置 HTTP 转向 HTTPS(可选):
为了让访问你的网站的用户自动转向 HTTPS,你可以在 HTTP 的虚拟主机配置块中添加一个重定向规则:
server {
listen 80;
server_name your_domain.com;
location / {
return 301 https://$server_name$request_uri;
}
}
这将把所有的 HTTP 请求都重定向到对应的 HTTPS 地址。
- 保存并退出配置文件后,重新加载 Nginx 配置:
sudo nginx -t # 检查配置文件语法是否正确
sudo systemctl reload nginx
现在你的 Nginx 应该已经配置好了 SSL 证书,并且支持 HTTPS 安全连接。记得及时更新证书并保持服务器的安全性。