我在nginx下有一个这样配置的网站(两个域都在一个IP上):
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 :(得分:3)
您明显尝试使用Server Name Indication,以便能够在同一IP地址/端口组合上使用多个证书。您应该检查您的nginx版本是否支持它(如文档中所述)。
Windows Vista和7上的IE 9应支持此功能,但XP上的任何IE版本都不支持此功能。