我使用两个不同的证书为两个TLS虚拟主机'example.one'和'example.two'配置了Nginx.
我需要为第一个设置TLS1.0 +,为第二个设置TLS1.2.但是,第二个(example.two)配置忽略ssl_protocols指令并从第一个服务器指令获取ssl_procolols.
因此,两个服务器指令都使用第一个配置的ssl_protocols指令.
server {
listen 443 default_server ssl spdy;
server_name example.one;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate /certs/cert-for-example.one.pem;
ssl_certificate_key /certs/privkey-for-example.one.pem;
# another ssl_* directives ...
}
server {
listen 443 ssl spdy;
server_name example.two;
ssl_protocols TLSv1.2;
ssl_certificate /certs/cert-for-example.two.pem;
ssl_certificate_key /certs/privkey-for-example.two.pem;
# another ssl_* directives ...
}
Run Code Online (Sandbox Code Playgroud)
我不想使用SSL3,因此TLS SNI应该可以正常工作.而且我不关心没有TLS SNI支持的客户.
只有相关的信息,我找到了.它说,Openssl负责.
难道我做错了什么 ?或者有解决方法吗?(除了服务器指令的单独IP地址,但我不想回到石器时代)
我在Debian Wheezy上使用Nginx/1.6.2,OpenSSL 1.0.1e.