我需要能够向访问我网站的 Web 客户端提供由两个不同 CA 签名的两个证书,如果客户端不信任其中一个,则应该选择另一个。有办法吗?我在虚拟机NGINX
下运行Ubuntu 16.04.3
。
答案1
如果你有 nginx 1.11.0+ 和 opensl 1.0.2+,你可以有多个证书链
从 http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate
自 1.11.0 版本起,可以多次指定此指令以加载不同类型的证书,例如 RSA 和 ECDSA:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate example.com.rsa.crt;
ssl_certificate_key example.com.rsa.key;
ssl_certificate example.com.ecdsa.crt;
ssl_certificate_key example.com.ecdsa.key;
...
}
OpenSSL 1.0.2 及以上版本仅支持不同证书使用单独的证书链。旧版本仅支持使用一个证书链。