【发布时间】:2015-01-28 14:03:24
【问题描述】:
我用两个不同的证书为两个 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 ...
}
我不想使用 SSL3,所以 TLS SNI 应该可以正常工作。而且我不关心没有 TLS SNI 支持的客户端。
只有相关信息,我发现是here。它说,Openssl 负责。
我做错了吗?或者有解决方法吗? (除了服务器指令的单独 IP 地址,但我不想回到石器时代)
我在 Debian Wheezy 上使用 Nginx/1.6.2、OpenSSL 1.0.1e。
【问题讨论】:
标签: ssl nginx https openssl debian