2012-07-20 68 views
1

我有这样(在一个IP两个域)下的nginx网站配置:IE只看到在nginx的配置的第一个SSL证书

server { 
    listen 443; 

    ssl on; 
    ssl_certificate /etc/ssl/certs/oldsite.com.pem; 
    ssl_certificate_key /etc/ssl/private/oldsite.com.ca.key; 

    server_name oldsite.ca; 

    rewrite ^(.*) https://newsite.com$1 permanent; 
} 

server { 
    listen 443; 

    ssl on; 
    ssl_certificate /etc/ssl/certs/newsite.com.pem; 
    ssl_certificate_key /etc/ssl/private/newsite.com.ca.key; 

    server_name newsite.com 

    ... 
} 

出于某种原因,IE(试图与IE9)也只看到了配置了第一个证书,因此如果我访问https://newsite.com,则会显示带有oldsite.com证书的证书无效消息。 如果我更改服务器块的顺序,https://newsite.com工作正常,但重定向(重写)不(现在它只能看到newsite.com证书,所以当然它在投诉oldsite.com时抱怨它无效)。

任何想法,为什么(除了只是IE)它没有看到各自域的两个证书?

+0

投票移动到ServerFault。 – Bruno 2012-07-20 16:21:24

+0

您是否尝试过使用其他(现代)浏览器?它在XP上吗? – Bruno 2012-07-20 16:23:46

回答

3

您明显想尝试使用Server Name Indication,以便能够在相同的IP地址/端口组合上使用多个证书。您应该检查您的nginx版本是否支持它(如文档中所述)。

这应该由Windows Vista和7上的IE 9支持,但它在XP上的任何版本的IE上都不支持。