2012-07-20 30 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上都不支持。