我希望有人能帮我解决这个问题
我在我的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指令,并将SSLVerifyClient从require切换到可选