nginx 配置中间证书

一般 nginx 配置 https ,只要两个证书就可以了,但是有时候有一个中间证书的东西,也是和外面的公司对接才知道,具体配置如下:

复制代码
 server {
        listen       443 ssl;

        server_name  xxx.xxx.com;

        #rewrite ^(.*)$ https://$host$1;

        ssl_certificate      /usr/local/nginx/certs/xxx.xxx.com-2021.crt;
        ssl_certificate_key  /usr/local/nginx/certs/xxx.xxx.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        #location / {
        #    root   html;
        #    index  index.html index.htm;
        #}

        location / {
            root   /var/www/html/;
            index  index.html index.htm;
        }
复制代码

假如你已经有以下3个文件:
服务器证书:xxx.xxx.com.crt

key 文件:xxx.xxx.com.key

中间证书:xxx.ca_xxx.crt

来到 linux 存放文件的目录,使用命令

cat xxx.xxx.com.crt xxx.ca_xxx.crt >> xxx.xxx.com-2021.crt

有时候还不行,可以把前面两个文件顺便反过来试一下:

cat xxx.ca_xxx.crt xxx.xxx.com.crt >> xxx.xxx.com-2021.crt

如果还不行,操作完之后,下载下来,使用记事本打开,会看到中间这两行合并成了一行,直接在记事本里面给分成两行如下图所示,然后再保存上传,一般就可以了

会自动在当前目录生成一个 xxx.xxx.com-2021.crt 新的合并好的证书,之后只需要替换到 

ssl_certificate      /usr/local/nginx/certs/xxx.xxx.com-2021.crt;

里面就可以了,然后重启 nginx 即可!
也可以下载下来,使用 notepad 打开两个证书,手动把中间证书的内容 copy 到 服务器证书下面,然后保存为一个新的证书,但是我自己试过,不成功,可能是有空格什么的,所以建议用命令比较好
posted @   雪化山河  阅读(1610)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示