SSL证书申请成功,并不代表网站已经启用HTTPS。
证书需要部署到Web服务器,并完成以下配置:
- 上传正确的证书文件;
- 配置对应私钥;
- 安装完整证书链;
- 绑定网站域名和443端口;
- 重启或重新加载Web服务。
任何一步配置错误,都可能导致浏览器出现“证书不受信任”“连接不是私密连接”“NET::ERR_CERT_COMMON_NAME_INVALID”等错误。
本文介绍目前常见服务器环境中的SSL证书安装方法,包括 Nginx、Apache、IIS、Tomcat,帮助快速完成HTTPS部署。
一、安装SSL证书前需要准备什么?
在开始安装之前,需要准备以下文件:
1. SSL证书文件
不同服务器需要不同格式:
| 服务器类型 | 常用证书格式 |
|---|---|
| Nginx | .crt/.pem+.key |
| Apache | .crt+.key+ CA证书链 |
| IIS | .pfx |
| Tomcat | .jks/.p12 |
如果是在证书申请平台下载文件,一般选择对应服务器类型即可。
2. 私钥文件(Private Key)
私钥是在生成CSR文件时产生的重要文件。
例如:
example.com.key
注意:
- 私钥不能公开上传;
- 更换服务器时必须同时迁移私钥;
- 如果私钥丢失,需要重新申请证书。
3. 中间证书链文件
除了服务器证书,还需要安装CA机构提供的中间证书(CA Bundle)。
完整HTTPS信任链通常如下:
根证书
↓
中间证书
↓
网站SSL证书
如果缺少中间证书,部分浏览器和客户端可能提示:
ERR_CERT_AUTHORITY_INVALID
二、Nginx安装SSL证书教程
Nginx是目前Linux服务器最常见的Web服务器之一。
1. 上传证书文件
例如上传到:
/etc/nginx/ssl/
目录:
example.com.crt
example.com.key
2. 修改Nginx配置文件
打开网站配置:
/etc/nginx/conf.d/example.conf
添加HTTPS配置:
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
3. 配置HTTP跳转HTTPS
建议将80端口访问自动跳转HTTPS:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
4. 检查并重新加载Nginx
测试配置:
nginx -t
没有错误后:
nginx -s reload
完成后访问:
https://example.com
检查证书是否生效。
更多Nginx配置方法可以查看:SSL证书部署教程
三、IIS安装SSL证书教程(Windows Server)
IIS服务器使用PFX格式证书。
安装流程:
- 打开IIS管理器:
Win + R
输入 inetmgr
- 点击服务器名称。
- 打开:
服务器证书
- 点击:
导入
- 选择:
xxx.pfx
输入证书密码。
配置HTTPS绑定
进入:
网站 → 绑定
添加:
| 参数 | 设置 |
|---|---|
| 类型 | https |
| 端口 | 443 |
| SSL证书 | 选择刚导入证书 |
保存即可。
如果IIS中找不到证书,一般检查:
- PFX是否包含私钥;
- 是否导入到了“计算机账户”;
- 证书是否已经过期。
详细方法IIS安装SSL证书教程
四、Apache安装SSL证书教程
Apache通常需要配置三个文件:
SSLCertificateFile
SSLCertificateKeyFile
SSLCertificateChainFile
示例:
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/example.crt
SSLCertificateKeyFile /etc/apache2/ssl/example.key
SSLCertificateChainFile /etc/apache2/ssl/ca_bundle.crt
</VirtualHost>
修改完成后:
Ubuntu:
systemctl restart apache2
CentOS:
systemctl restart httpd
五、Tomcat安装SSL证书教程
Tomcat通常使用:
- JKS格式;
- PKCS12格式。
例如配置server.xml:
<Connector
port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true"
keystoreFile="certificate.p12"
keystorePass="password"
keystoreType="PKCS12"
/>
修改后重启Tomcat:
systemctl restart tomcat
六、SSL证书安装后不生效怎么办?
如果安装完成后仍提示错误,可以按照以下顺序排查。
1. 检查证书是否匹配域名
例如:
证书:
www.example.com
访问:
api.example.com
会出现:
ERR_CERT_COMMON_NAME_INVALID
解决:
重新申请包含该域名的证书,或者使用通配符证书。
2. 检查证书链是否完整
如果服务器只安装了服务器证书,没有安装中间证书:
浏览器可能无法建立完整信任链。
可以使用SSL证书检查工具检查证书链状态。
3. 检查443端口是否开放
HTTPS默认使用:
TCP 443
如果防火墙阻止访问,会导致HTTPS无法连接。
4. 检查旧证书缓存
如果刚替换证书,可以:
- 使用浏览器无痕模式测试;
- 更换网络测试;
- 使用SSL检测工具确认服务器返回的新证书。
常见问题 FAQ
Q:SSL证书安装完成后需要重启服务器吗?
A:一般不需要重启服务器,只需要重新加载Web服务。
例如:
Nginx:
nginx -s reload
Apache:
systemctl restart apache2
IIS:
重新保存绑定即可。
Q:一张SSL证书可以安装到多个服务器吗?
A:可以,但需要同时拥有对应私钥。
例如:
- 多台Nginx服务器;
- CDN节点;
- 负载均衡设备。
都可以部署同一张证书。
Q:免费SSL证书可以用于生产网站吗?
A:可以。
例如Let's Encrypt等免费DV证书能够满足普通网站HTTPS加密需求。
但是:
- 没有企业身份验证;
- 有效期较短;
- 不提供商业赔付。
企业官网、电商、金融业务一般建议选择OV或EV SSL证书。
SSL证书安装的核心并不是上传一个证书文件,而是完成“证书、私钥、证书链、服务器配置”四个部分的正确匹配。不同服务器环境对应不同证书格式:Nginx和Apache主要使用PEM格式文件,IIS使用PFX格式,Tomcat通常使用JKS或PKCS12格式。部署完成后,应通过SSL检测工具确认域名匹配、证书链完整以及HTTPS访问正常。



京公网安备11010502031690号
网站经营企业工商营业执照
















