通常nginx 配置 https 证书,只需要配置域名对应的两个证书。但是近期有些新申请的域名证书无法识别,现象是缺少证书颁发商的根证书,这是由于证书颁发商正在升级到新的证书根体系,而用户客户端的电脑由于系统较老,或者补丁没有打全,系统里没有更新为颁发商的新的根证书。此时需要把颁发商的中间证书集成进去。
nginx配置文件(例如default.conf)对证书的配置语法如下:
ssl_certificate /usr/local/nginx/certs/mydomain.crt;
ssl_certificate_key /usr/local/nginx/certs/mydomain.key;
配置中间证书的方法:
采用证书拼接,服务器域名证书 + 颁发商中间证书
假设你已经获得以下3个文件:
服务器证书:mydomain.crt
服务器key文件:mydomain.key (此处用不到)
颁发商中间证书:xxxxxCA.crt
1、进入存放证书的目录,执行命令:
cat mydomain.crt xxxxxCA.crt >> mydomain-xxxca.crt
用cat命令查看,拼接处应该是这样:
2、修改nginx的default.conf配置文件:
ssl_certificate /usr/local/nginx/certs/mydomain-xxxca.crt;
3、测试配置文件:
nginx -t
#查看保证无错误
4、重新加载nginx
nginx -s reload
5、客户端测试网站证书是否正常。