Я управляю интернет сайт где процесс оформления заказа сертифицирован SSL с использованием сертификата Comodo EV.
У нас также есть отслеживание веб-аналитики Piwik по всему сайту, которое обслуживается stats
поддомен. Чтобы предотвратить ошибки смешанного домена, Piwik доступен как по HTTPS, так и по HTTP - для HTTPS наш поддомен Piwik сертифицирован с использованием (гораздо более дешевого) сертификата Comodo PositiveSSL.
Вот что странно: когда страница HTTPS на основном сайте доступна через wget и некоторые версии Internet Explorer, stats.psychicbazaar.com
кажется, что сертификат каким-то образом загружается по ошибке, что приводит к предупреждению о несоответствии адреса в IE и в wget:
ERROR: certificate common name `stats.psychicbazaar.com' doesn't match requested host name `www.psychicbazaar.com'.
Эта проблема не возникает с curl, Chrome или Firefox. Например, с завитком:
$ curl -Iv https://www.psychicbazaar.com/shop/checkout
* <snip>
* Connected to www.psychicbazaar.com (178.79.183.162) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using DHE-RSA-AES256-SHA
* Server certificate:
* subject: serialNumber=07440589; 1.3.6.1.4.1.311.60.2.1.3=GB; 1.3.6.1.4.1.311.60.2.1.
2=Greater London; businessCategory=Private Organization; C=GB; postalCode=EC24 4RQ; ST=Greater
London; L=London; street=The Roma Building 32-38; O=Psychic Bazaar Ltd; OU=COMODO EV
* start date: 2012-02-16 00:00:00 GMT
* expire date: 2013-02-15 23:59:59 GMT
* subjectAltName: www.psychicbazaar.com matched
* issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO Extended Validation Secure Server CA
* SSL certificate verify ok.
> HEAD /shop/checkout HTTP/1.1
> User-Agent: curl/7.21.6 (x86_64-pc-linux-gnu) libcurl/7.21.6 OpenSSL/1.0.0e zlib/1.2.3.4 libidn/1.22 librtmp/2.3
> Host: www.psychicbazaar.com
> Accept: */*
>
< <snip>
Что здесь может происходить - почему браузер может читать и выдавать ошибки в SSL-сертификате поддомена при загрузке страницы в основном домене? Любая помощь очень ценится!
# dig stats.psychicbazaar.com
[...]
;; ANSWER SECTION:
stats.psychicbazaar.com. 3600 IN A 178.79.183.162
[...]
# dig www.psychicbazaar.com
[...]
;; ANSWER SECTION:
www.psychicbazaar.com. 3600 IN A 178.79.183.162
[...]
Каким образом ваш веб-сервер должен знать, какой сертификат использовать для обмена TLS, если вы используете один и тот же IP-адрес для обоих? Это не сработает:
http://wiki.apache.org/httpd/NameBasedSSLVHosts
Как правило, невозможно разместить более одного виртуального хоста SSL на одном IP-адресе и порту. Это связано с тем, что Apache необходимо знать имя хоста, чтобы выбрать правильный сертификат для настройки уровня шифрования. Но имя запрашиваемого хоста содержится только в заголовках HTTP-запроса, которые являются частью зашифрованного содержимого. Следовательно, он недоступен до тех пор, пока не будет согласовано шифрование.