我已经设置了一个启用了TLS的NGINX站点,在站点能够被查看之前,需要提交一个有效的客户端证书。
我有这样的configuration指令,如果有效的客户端证书不存在,将会有一个redirect到错误页面:
if ($ssl_client_verify = NONE) { return 303 http://example.com/errorpage.html; }
所以我为Linux桌面机器,Android设备和Windows 7机器创build了单独的客户端证书。
一切工作完全正常与Linux和Android设备。 我已经在Linux和Android上尝试过Firefox和Chrome,每次我得到提示时都要select应该将哪个客户端证书提供给站点。 当我这样做时,我可以按预期查看网站。
Windows 7是一个不同的故事。 我试过Firefox,Chrome,Internet Explorer – 这些都没有提示客户端证书,直接进入错误页面。
我为“当前用户”运行了“证书”MMCpipe理单元,并在“个人存储”中导入了客户端证书。 我从来没有得到提示客户端证书,但是。
我甚至尝试在虚拟机中重新安装Windows 7,以防特定计算机出现问题。 我得到同样的问题。
什么可能是错的?