在本地networkingapache2上不要使用Client Cert Auth

我希望有人能帮我解决这个问题

我在我的Ubuntu 14.04盒子上运行了一个Apache 2.4.7服务器,有一些面向公众的站点。 对于其中一些网站,我使用自签名证书实施了客户端证书身份validation。 我试图改变我的configuration,当客户端连接到与服务器在同一networking上的网站时,完全绕过validation。

这是我的configuration文件的片段:

SSLEngine On SSLProtocol -all +TLSv1 +SSLv3 SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM SSLCertificateFile /etc/ssl/ca/certs/server.crt SSLCertificateKeyFile /etc/ssl/ca/private/server.key SSLCACertificateFile /etc/ssl/ca/certs/serverCA.crt SSLVerifyClient require SSLProxyEngine Off ProxyRequests Off 

我已经尝试通过将SSLVerifyClient require移动到Location块来修改此configuration,如下所示:

 <Location /> Order deny,allow Deny from all Allow from 192.168.1.0/24 SSLVerifyClient require Satisfy any </Location> 

不幸的是,这不起作用,我仍然会被要求提供证书,或者我的网站可以从互联网免费获得。

非常感谢您的帮助

我在这里find答案: 允许用户从一个IP地址没有证书客户端身份validation

答案的要点如下:

 <VirtualHost *:443> SSLEngine On SSLProtocol -all +TLSv1 +SSLv3 SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM SSLCertificateFile /etc/ssl/ca/certs/server.crt SSLCertificateKeyFile /etc/ssl/ca/private/server.key SSLCACertificateFile /etc/ssl/ca/certs/serverCA.crt SSLVerifyClient optional SSLProxyEngine Off ProxyRequests Off <Location /> Order deny,allow Deny from all Satisfy any Allow from 192.168.1.0/24 RewriteEngine on RewriteCond %{SSL:SSL_CLIENT_VERIFY} !^SUCCESS$ RewriteCond %{REMOTE_ADDR} !^192.168.1.[0-9]*$ RewriteRule ^ - [F] <Location /> </VirtualHost> 

这里的主要变化是位置部分中的mod_rewrite指令,并将SSLVerifyClientrequire切换到可选