Tôi đã định cấu hình Nginx cho hai máy chủ ảo TLS 'example.one' và 'example.two' với hai chứng chỉ khác nhau.Các giao thức TLS khác nhau trên mỗi máy chủ trong Nginx
Tôi cần thiết lập TLS1.0 + cho giá trị đầu tiên và chỉ TLS1.2 cho giá trị thứ hai. Tuy nhiên cấu hình thứ hai (example.two) bỏ qua chỉ thị ssl_protocols và lấy ssl_procolols từ chỉ thị máy chủ đầu tiên.
Do đó, cả chỉ thị máy chủ đều sử dụng chỉ thị ssl_protocols được định cấu hình đầu tiên.
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 ...
}
Tôi không muốn sử dụng SSL3 để SNS TLS hoạt động tốt. Và tôi không quan tâm đến khách hàng mà không hỗ trợ TLS SNI.
Chỉ thông tin liên quan, tôi thấy là here. Nó nói, Openssl có trách nhiệm.
Tôi có làm gì sai không? Hoặc là có một cách giải quyết cho việc này? (Ngoại trừ địa chỉ IP riêng biệt cho chỉ thị máy chủ, nhưng tôi không muốn quay lại Thời kỳ đồ đá)
Tôi sử dụng Nginx/1.6.2, OpenSSL 1.0.1e trên Debian Wheezy.
Đây là Nginx [lỗi] (https://trac.nginx.org/nginx/vé/676). Cả bản sao và [trùng lặp] của nó (https://trac.nginx.org/nginx/ticket/844) đều bị đóng dưới dạng _wontfix_. Cách giải quyết được đề cập có một @Anton được gửi bên dưới. –