我正在运行一个网站 ,使用Comodo EV证书对结帐stream程进行SSLauthentication。
我们还在整个网站上进行了Piwik网站分析跟踪,这是在一个stats子域中提供的。 为了防止混合域错误,Piwik可以通过HTTPS和HTTP访问 – 对于HTTPS,我们的Piwik子域使用(便宜得多)的Comodo PositiveSSL证书进行authentication。
这是奇怪的部分 – 当通过wget和某些版本的Internet Explorer访问主站点上的HTTPS页面时, 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:
$ 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 [...]
如果您使用的是同一个IP地址,您的Web服务器应该知道为TLS交换提供哪个证书? 这不会工作:
http://wiki.apache.org/httpd/NameBasedSSLVHosts
通常,在同一个IP地址和端口上托pipe多个SSL虚拟主机是不可能的。 这是因为Apache需要知道主机的名称才能select正确的证书来设置encryption层。 但是被请求主机的名称只包含在HTTP请求标头中,这些标头是encryption内容的一部分。 因此,在encryption已经协商之后才可用。