Назад | Перейти на главную страницу

Wildcard SSL, для одного поддомена требуется сертификат клиента

Эта конфигурация работает нормально, но запрашивает сертификат для всех поддоменов.

<VirtualHost IP:443>
ServerName *.domain.tld
ServerAlias www.*.domain.tld
VirtualDocumentRoot /home/domaintld/subdomains/%1
ServerAdmin webmaster@*.domain.tld

UseCanonicalName off
UserDir public_html

SSLEngine on
SSLVerifyClient require
SSLVerifyDepth 1
SSLCertificateFile /path/to/cert.crt
SSLCACertificateFile /path/to/CAcert.crt
SSLCertificateKeyFile /path/to/key.key

<Directory "/home/domaintld/subdomains/%1">
  SSLRequire %{SSL_CLIENT_S_DN_O} eq "Company" 
and %{SSL_CLIENT_S_DN_OU} in {"Department"} 
# this one is not splitted, only here to avoid horiz. scroll
</Directory>

CustomLog /usr/local/apache/domlogs/domain.tld-ssl_log combined
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

</VirtualHost>

Но я хочу сделать так, чтобы он запрашивался только на поддомене, якобы "theone.domain.tld"

Я попытался:

#...
SSLEngine on
SSLCertificateFile /path/to/cert.crt
SSLCACertificateFile /path/to/CAcert.crt
SSLCertificateKeyFile /path/to/key.key

<Directory "/home/domaintld/subdomains/theone">
  SSLVerifyClient require
  SSLVerifyDepth 1
  SSLRequire %{SSL_CLIENT_S_DN_O} eq "Company" 
and %{SSL_CLIENT_S_DN_OU} in {"Department"} 
# this one is not splitted, only here to avoid horiz. scroll
</Directory>
#...

Также с <Directory ..> вне <VirtualHost ..>

Даже добавил SSLCACertificateFile в пределах <Directory ..>

Я получаю другие поддомены, работающие через HTTPS, но "theone" дает Error 107 (net::ERR_SSL_PROTOCOL_ERROR)

Я должен упомянуть, что весь VirtualHost и Directory находятся в пределах <IfDefine SSL></IfDefine>

Какие-либо предложения?

Спасибо.

Согласование SSL завершается до передачи заголовка HTTP, который включает критерии для выбора правильного виртуального хоста. Это означает, что вы не можете использовать какие-либо уникальные параметры SSL для каждого виртуального хоста. Единственный известный мне вариант - это получить другой IP-адрес и настроить виртуальный хост на основе IP для сайтов, на которых требуется проверка подлинности сертификата.

http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#vhosts