두 개의 다른 인증서로 두 개의 TLS 가상 호스트 'example.one'과 'example.two'에 대해 Nginx를 구성했습니다.Nginx에서 서버별로 다른 TLS 프로토콜
처음 TLS1.0 +을 설정하고 두 번째 TLS1.2 만 설정해야합니다. 그러나 두 번째 구성 (example.two)은 ssl_protocols 지시문을 무시하고 첫 번째 server 지시문에서 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 ...
}
TLS SNI가 제대로 작동하려면 SSL3을 사용하고 싶지 않습니다. TLS SNI 지원이없는 고객은 신경 쓰지 않습니다.
관련 정보 만 찾았다면 here입니다. Openssl은 책임이 있습니다.
내가 잘못 했나요? 아니면 이에 대한 해결 방법이 있습니까? (서버 지침에서 별도의 IP 주소는 제외하지만 석기 시대로 돌아가고 싶지 않습니다.)
데비안 Wheezy에서 Nginx/1.6.2, OpenSSL 1.0.1e를 사용합니다.
Nginx에 [버그] (https://trac.nginx.org/nginx/항공권/676). 그것과 그것의 [duplicate] (https://trac.nginx.org/nginx/ticket/844)는 _wontfix_로 닫힙니다. 언급 된 해결 방법은 아래에 제출 된 @Anton입니다. –