在同一台主机上,我将使用SSL服务两个子域,但其中一个也需要客户端authentication。
NameVirtulaHost *:443 <VirtualHost *:443> ServerName mail.example.com SSLEngine on SSLCACertificateFile /etc/apache2/ssl/server.crt SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key </VirtualHost> <VirtualHost *:443> ServerName erp.example.com SSLEngine on SSLVerifyClient require SSLCACertificateFile /etc/apache2/ssl/server.crt SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key </VirtualHost>
通过上面的configuration,SSL被激活,但不需要客户端证书。 如果我更改订单(第一个erp.example.com),那么两个域都需要客户端证书。
(阿帕奇/ 2.2.9)
只要先读一下这个..
http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#sslverifyclient
它解释了如何使用SSLVerifyRequire
在每个目录上下文中,在HTTP请求被读取之后但在发送HTTP响应之前,它强制使用重新configuration的客户端validation级别进行SSL重新协商。
任何其他问题,请问
希望这有助于:D