在Nginx上配置SSL证书,核心就是在nginx.conf文件中添加一个监听443端口的server块,并指定证书和私钥文件的路径。

下面是详细的步骤指南。
配置前的准备
动手配置前,请确认这三件事:
- 域名解析生效:确保你的域名已经通过A记录正确解析到了服务器的公网IP。
- 已开放端口:确保服务器防火墙和安全组已放行443端口(HTTPS默认端口)和80端口(用于HTTP跳转)。
- 已获取证书文件:在云服务商或CA机构处申请并下载适用于Nginx的证书。通常会得到一个证书文件(.crt或.pem)和一个私钥文件(.key)。
修改Nginx配置文件
- 定位配置文件:找到你的Nginx主配置文件,通常是nginx.conf,或在conf.d/、sites-enabled/目录下的文件。可以用nginx -t命令来查找其具体路径。
- 配置HTTPS server块:在http块内,添加或修改一个server块,关键配置项如下:
server {
# 监听443端口,并启用SSL
listen 443 ssl;
# 替换为你的域名
server_name your-domain.com;
# 证书文件路径 (.crt 或 .pem)
ssl_certificate /path/to/your-certificate.crt;
# 私钥文件路径 (.key)
ssl_certificate_key /path/to/your-private.key;
# 推荐使用的 TLS 协议版本
ssl_protocols TLSv1.2 TLSv1.3;
# 推荐的加密套件
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 你的网站根目录
root /var/www/html;
index index.html index.htm;
# 其他 location 配置...
}配置HTTP自动跳转HTTPS:为了安全,强烈建议将HTTP流量自动重定向到HTTPS。添加另一个server块监听80端口:
server {
listen 80;
server_name your-domain.com;
# 将所有HTTP请求永久重定向到HTTPS
return 301 https://$server_name$request_uri;
}✅验证并重启Nginx
- 检查语法:在修改配置后,务必用以下命令检查配置文件是否有语法错误:
nginx -t如果显示test is successful,则继续下一步。
- 重载配置:语法无误后,执行以下命令平滑重启Nginx,使配置生效:
nginx -s reload验证效果
在浏览器地址栏输入https://your-domain.com,如果看到地址栏出现小锁图标,就说明SSL证书配置成功了。
💡 常见问题与建议
- 配置文件备份:修改任何配置文件前,建议先备份,以便在出错时快速恢复。
- 证书路径问题:ssl_certificate和ssl_certificate_key指令后应填写服务器上的绝对路径或相对于Nginx安装目录的相对路径,务必仔细核对。
- 关于自签名证书:本文介绍的是受浏览器信任的权威证书。如果使用OpenSSL生成的自签名证书,浏览器会提示“不安全”,仅适用于开发测试环境。




