Nginx要如何部署SSL证书?
最近更新时间:2026-03-04 11:45:22 来源:51DNS.COM
在HTTPS已成网站标配的今天,Nginx作为主流Web服务器,其SSL证书部署直接关系到数据传输安全、浏览器信任度与SEO排名。但不少开发者仍会遇到配置报错、证书不受信任、HTTPS无法访问等问题。而想要避免这些问题的出现,就需要掌握正确的Nginx部署方式。那么,Nginx要怎么部署SSL证书呢?

1、证书与Nginx适配检查
证书格式:Nginx仅支持PEM、CRT格式,需从帝恩思获取完整文件包,含3类核心文件:
公钥文件:用于浏览器验证身份;
私钥文件:需严格保密,泄露会导致安全风险;
中间证书:部分服务商合并至公钥文件,缺失会导致旧浏览器不信任。
NginxSSL模块验证:执行命令nginx-V,输出含--with-http_ssl_module说明已启用,无则需重新编译Nginx并添加该模块。
2、服务器环境准备
确保服务器开放443端口,防火墙需放行该端口;
提前备份Nginx配置文件,避免配置错误导致服务中断。
1、证书文件上传与权限配置
登录服务器,创建证书存储目录,路径可自定义;通过FTP工具或命令行上传证书文件至该目录;设置文件权限chmod600/etc/nginx/ssl/*,仅所有者可读写,防止私钥泄露。
2、编写HTTPS站点配置
编辑Nginx站点配置文件,粘贴以下配置并替换域名与文件路径:
server{
listen443ssl;
server_nameyourdomain.comwww.yourdomain.com;#替换为你的域名
#证书路径配置
ssl_certificate/etc/nginx/ssl/yourdomain.crt;#公钥文件路径
ssl_certificate_key/etc/nginx/ssl/yourdomain.key;#私钥文件路径
ssl_trusted_certificate/etc/nginx/ssl/ca-bundle.crt;#中间证书路径
3、配置HTTP强制跳转HTTPS
添加80端口配置,将所有HTTP请求重定向至HTTPS,提升安全性与SEO权重:
server{
listen80;
server_nameyourdomain.comwww.yourdomain.com;
return301https://$host$request_uri;#永久重定向(301)更利于SEO
}
4、验证配置并重启Nginx
检查配置语法正确性:nginx-t,显示“testissuccessful”说明无错误;
重启Nginx生效:
CentOS/RHEL系统:systemctlrestartnginx
Ubuntu/Debian系统:servicenginxrestart
5、部署成功验证
浏览器访问:地址栏显示“小锁”图标即成功。
进阶验证:通过SSL检测工具进行检测,优化后可达到A+级。
1、路径错误:配置文件中证书路径与实际路径不一致,需用pwd命令确认绝对路径。
2、权限过高:私钥文件权限若为755,Nginx会拒绝启动,需重新设置为600。
3、中间证书缺失:旧版IE浏览器提示“证书不受信任”,需联系服务商补充.ca-bundle文件。
4、端口未开放:443端口未放行会导致HTTPS无法访问,执行firewall-cmd--permanent--add-port=443/tcp开放端口。