nginx 安装 ssl 证书
关键词: pem 转 crt , 证书续期, nginx 部署 ssl 证书, 解决 SSL23_GET_SERVER_HELLO
错误.
之前免费申请的 1年的证书过期了, 今天再部署新申请的证书到新的服务器上.
下载证书的时候, 发现证书并不是 crt 格式的, 而是 pem 格式的.
- 阿里云提供的各自程序的证书都没有可用的 crt 格式
- 直接配置 pem, 放在 nginx 里试了下, 无法识别.
- 最简化 nginx 配置也没有用
- 通过 openssl 把 pem 转为 crt, 也是无效.
openssl x509 -outform der -in your-cert.pem -out your-cert.crt
使用 openssl 转换 pem 为 crt 后直接导致证书验证不通过:
nginx: [emerg] cannot load certificate "/root/2961376_******.com.crt": PEM_read_bio_X509_AUX() failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)
nginx: configuration file /etc/nginx/nginx.conf test failed
几度怀疑是哪里出了问题, 是不是这台服务器有问题? 还是服务器上的其他环境干扰?
- 总是
curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
, - 浏览器也无法打开。
bash-3.2$ curl https://www.******.com
curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
最后怎么解决
试试把证书上传到其他商家, 我这上传到腾讯云上. 再点击下载, 不错, 下载的格式里有 crt .
然后把 crt 部署成功…
阿里云啊阿里云, 多提供一个格式下载会怎样?