Loading... ```mermaid flowchart TD A[生成CSR和Key] --> B[acme.sh申请证书1<br>Let's Encrypt] A --> C[acme.sh申请证书2<br>Google Trust] B --> D[cert1.pem] C --> E[cert2.pem] D --> F[合并证书文件] E --> F F --> G[combined.pem] G --> H[Nginx配置] H --> I{客户端TLS握手} I --> J[只使用第一个证书] I -.-> K[第二个证书被忽略] ``` --- **结论:技术上可行,但实际无效** | 步骤 | 可行性 | 问题 | |------|--------|------| | 同CSR申请多证书 | ✅ 可行 | - | | 合并证书文件 | ✅ 可行 | - | | Nginx使用 | ❌ 无意义 | 只读取第一个证书 | ```bash # 申请两个证书(可行) acme.sh --issue -d example.com --server letsencrypt --csr /path/to/csr acme.sh --issue -d example.com --server google --csr /path/to/csr # 合并(无意义) cat cert1.pem cert2.pem > combined.pem ``` **为什么无效:** - TLS协议每次握手只发送**一个**证书链 - Nginx/服务器不会同时发送多个根CA的证书 - 客户端验证时只需一条有效链即可 **真正的解决方案:** - 选择兼容性最好的CA(Let's Encrypt已足够) - 或配置多个虚拟主机使用不同证书 最后修改:2026 年 02 月 05 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏