Apache SSL证书和基本身份validation组合 – 密码,如果没有证书

是否有可能,只有当用户没有安装客户端证书强制Apache要求密码?

我几乎可以肯定,这是可能的,但我无法在任何地方find任何确认。

是否有可能configurationApache的行为是这样的:

如果用户将有客户证书 – 阿帕奇将允许连接到网页没有任何问题或问题。 如果客户端的用户证书不可用,它将要求基本的身份validation – 所以它会要求密码?

如何configuration? 我从早上起就没有任何解决办法,甚至只是坚持下去。

以下是从证书获取密码文件条目的脚本:(另请参阅https://serverfault.com/posts/747107

在.fakehttpsauth你需要把这样的条目:

 /C=US/ST=CA/O=Doe Inc/CN=John Doe/[email protected]:xxj31ZMTZzkVA 

这里是一个脚本来创build您的证书这样的条目:

 #!/bin/bash # export the certificates in fake auth format # see https://serverfault.com/questions/533639/apache-authentication-with-ssl-certificate-and-sslusername # WF 2016-01-06 fakepass=`openssl passwd -crypt -salt xx password` for c in *.crt do openssl x509 -in $c -text | grep Subject: | gawk -v fakepass=$fakepass ' BEGIN { FS="," } { gsub("Subject: ","",$0) for (i=1;i<=NF;i++) { f=trim($i) printf("/%s",f); } printf(":%s\n",fakepass); } # see https://gist.github.com/andrewrcollins/1592991 function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s } function rtrim(s) { sub(/[ \t\r\n]+$/, "", s); return s } function trim(s) { return rtrim(ltrim(s)); } ' done