新网互联获取的ssl证书,手动配置nginx使用的ssl格式(以及nginx和apache证书区别)

[ 2024-12-02 14:53:10 | 作者: admin ]
字号: | |
p.s. 现在都是3个月的免费证书,新网互联有便宜的ssl证书,但是生成的证书里面没有像其他平台一样自动生成nginx使用的证书文件,需要手动修改下。
我们知道一般申请证书的过程涉及到4个证书文件:
1、blog.xg98.com.csr 证书签名申请
2、blog.xg98.com.key 私钥
3、blog.xg98.com.crt 签发的用户证书,点击证书能看到用户信息和有效期
4、root_bundle.crt 证书链(中间证书)

nginx需要提供2个证书文件:一个key文件,一个crt文件(合并用户证书和中间证书)
apache需要提供3个证书文件:一个key文件,一个用户证书文件,一个中间证书(也就是证书链文件root_bundle.crt)
所以nginx和apache的证书区别是,nginx把用户证书和中间证书合并为一个了


通过 CSR 在线生成工具 https://myssl.com/csr_create.html ,我们能获取到CSR文件(证书请求文件)和KEY文件(密钥文件)
attachments/202412/02_152210__20241202152148.jpg


然后新网互联后台能提供3个证书文件 root 根证书 , intermediate 中间证书, end-entity 最终实体CA证书
blog.xg98.com_ca.crt (最终实体CA证书,证书有时间限制,也就是用户证书,放服务器端,访问会下载)
blog.xg98.com_intermediatec.crt (中间证书,放服务器端,访问会下载)
blog.xg98.com_root.crt (根证书,一般浏览器都已默认安装,nginx不需要放到服务器,不过apache需要配置)

只要将CA证书和中间证书合并就可以生成nginx需要的证书文件,后缀一般用pem或者crt。
attachments/202412/02_151411_af31dadc1f066732db8aebfc0f02971b.png

最终得到nginx可以使用的证书文件 blog.xg98.com.key 和自己合并的 blog.xg98.com.crt



attachments/202412/02_151419_6e09e004c2ba58392e9c83da8811e323.png
attachments/202412/02_151423_163fbb613240a6c95c3be10248e3a882.png



nginx下ssl证书配置范例
server {
           #SSL 默认访问端口号为 443
           listen 443 ssl;
           #请填写绑定证书的域名
           server_name blog.xg98.com;
           #请填写证书文件的相对路径或绝对路径
           ssl_certificate blog.xg98.com.crt;
           #请填写私钥文件的相对路径或绝对路径
           ssl_certificate_key blog.xg98.com.key;
           ssl_session_timeout 5m;
           #请按照以下协议配置
           ssl_protocols TLSv1.2 TLSv1.3;
           #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
           ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
           ssl_prefer_server_ciphers on;
           location / {
                  #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
                  #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
                  root html;
                  index index.html index.htm;
           }
   }


apache部署ssl证书演示代码
<VirtualHost 0.0.0.0:443>
           DocumentRoot "/var/www/html"
           #填写证书名称
           ServerName cloud.tencent.com
           #启用 SSL 功能
           SSLEngine on
           #证书文件的路径(用户证书)
           SSLCertificateFile /etc/httpd/ssl/cloud.tencent.com.crt
           #私钥文件的路径
           SSLCertificateKeyFile /etc/httpd/ssl/cloud.tencent.com.key
           #证书链文件的路径(中间证书)
           SSLCertificateChainFile /etc/httpd/ssl/root_bundle.crt
</VirtualHost>



参考:
分析一下,nginx上配置ssl时的pem证书
https://blog.csdn.net/adminstate/article/details/135925800
[最后修改由 admin, 于 2024-12-11 16:37:09]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2989

这篇日志没有评论。

此日志不可发表评论。