Здравствуйте!
Наблюдаю проблему с таким конфигом:
http {
default_type text/plain;
access_log logs/access.log combined;
server {
server_name example.ru;
listen 443 default;
ssl on;
ssl_certificate example.ru.crt;
ssl_certificate_key example.ru.key;
ssl_session_ticket_key ticket.key;
location / {
return 200 "example.ru\n";
}
}
server {
server_name example.com;
listen 443;
ssl on;
ssl_certificate example.com.crt;
ssl_certificate_key example.com.key;
location / {
return 200 "example.com\n";
}
}
}
Желаемое поведение:
- для example.ru использовать ticket key из файла.
- для example.com (и всех остальных блоков server) использовать случайный
ticket key, генерируемый в nginx при старте.
Что наблюдается:
- Без SNI работает и отдается сертификат example.ru
- Если в SNI указать example.ru - работает и отдается сертификат example.ru
- Если в SNI указать example.com - соединение рвётся с очень неясной диагностикой.
- Если в SNI указать example.com, но отключить tickets на клиенте - работает.
Версии
nginx 1.7.0
OpenSSL 1.0.1g-freebsd 7 Apr 2014
Если убрать ssl_session_ticket_key задавать на уровне http, то всё работает. Но
хочется брать tickets из файла только для одного сервера.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru