Windows XP
对 Server Name Indication 的支持很差。表现为打不开某些 https 网页。请单击工具菜单,而后单击 Internet 选项。在“高级”选项卡上,滚动到“安全”部分,复选 SSL 2.0、SSL 3.0、TLS 1.0、PCT 1.0 设置。nginx
Nginx
为例,测试https
证书与IE6
的兼容性apt-get -y install nginx # yum -y install nginx
SNI
容许一个IP
指向多个证书,那么咱们作两个域名使用两个证书。简要以下:openssl genrsa -des3 -out /etc/nginx/conf.d/s1.key 1024 openssl genrsa -des3 -out /etc/nginx/conf.d/s2.key 1024 openssl req -new -key /etc/nginx/conf.d/s1.key -out /etc/nginx/conf.d/s1.csr openssl req -new -key /etc/nginx/conf.d/s2.key -out /etc/nginx/conf.d/s2.csr openssl rsa -in /etc/nginx/conf.d/s1.key -out /etc/nginx/conf.d/s1-nopwd.key openssl rsa -in /etc/nginx/conf.d/s2.key -out /etc/nginx/conf.d/s2-nopwd.key openssl x509 -req -days 365 -in /etc/nginx/conf.d/s1.csr -signkey /etc/nginx/conf.d/s1-nopwd.key -out /etc/nginx/conf.d/s1.crt openssl x509 -req -days 365 -in /etc/nginx/conf.d/s2.csr -signkey /etc/nginx/conf.d/s2-nopwd.key -out /etc/nginx/conf.d/s2.crt
Nginx.conf
片断https
的关键配置段:server { listen 443 ssl; server_name s1.higkoo.com; ssl_certificate conf.d/s1.crt; ssl_certificate_key conf.d/s1-nopwd.key; charset utf-8; location / { add_header id 's1'; stub_status on; access_log off; } } server { listen 443 ssl; server_name s2.higkoo.com; ssl_certificate conf.d/s2.crt; ssl_certificate_key conf.d/s2-nopwd.key; ssl_session_timeout 30m; ssl_protocols TLSv1.2 TLSv1.1 TLSv1 SSLv3; # protocols、ciphers 参考 google、baidu,兼顾 安全和兼容性。 ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:RSA+AES:TLS_RSA_WITH_3DES_EDE_CBC_SHA:TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA:RC4-SHA:ECDHE-RSA-RC4-SHA; ssl_session_cache shared:SSL:50m; ssl_prefer_server_ciphers off; charset utf-8; location / { add_header id 's2'; stub_status on; access_log off; } }
Windows XP
下其它浏览器是否能正确处理呢?curl
对sni
也是默认支持的,跳过证书的校验:lynx
,和IE6同样拿到的是第1个证书。因此打开第2个网站时会提示证书错误,手动确认后可正常打开: