我在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之外)它看不到各自域的两个证书?
发布于 2012-07-21 00:23:04
很明显,您正在尝试使用Server Name Indication,以便能够在同一IP地址/端口组合上使用多个证书。您应该检查您的nginx版本是否支持它(如文档所述)。
Windows Vista和Windows Vista 7上的IE 9应该支持此功能,但XP上的任何IE版本都不支持此功能。
https://stackoverflow.com/questions/11583246
复制相似问题