根据客户端function指定SHA-1或SHA-2证书

由于主要浏览器不推荐使用SHA1证书,获得SHA2签名证书似乎是明智之举。 但是这样做会阻止IE6用户。 虽然对于大多数人来说这在某些情况下不会成为问题,但可能会阻碍重要的用户。

看一下SSL握手 ,客户端发送它支持的细节。

所以在理论上,服务器可以发送客户端将支持的证书。 较新的浏览器将得到一个SHA2签名的一个和更老的SHA1。

但是看起来好像有没有办法通过nginxconfiguration来做到这一点。 虽然您可以设置密码和协议的版本,但您不能通过任何逻辑来确定如何使用不同的客户端configuration。

有没有办法根据客户端支持不同的证书服务器?

这对于nginx来说目前是不可能的(尽pipe它是用apache的)。 但是,像CloudFlare这样的公司似乎已经对nginx进行了自己的内部修改,希望能够开源,我希望/期待nginx将在今后一年内具备这种能力,当我们接近2016年时,需求变得更加紧迫。

与此同时,我刚刚买了一个1年的证书在2015年年底到期,所以我不会受到Chrome的警告,直到有希望这样的function出来。