Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ssl_session_ticket_key and SNI
Hello!
On Tue, May 06, 2014 at 03:46:36PM +0400, Anton Yuzhaninov wrote:
> Здравствуйте!
>
> Наблюдаю проблему с таким конфигом:
>
> 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 из файла только для одного сервера.
В OpenSSL всё очень плохо в части кеширования сессий (что с
тикетами, что без) при использовании SNI. Когда я последний раз
на это смотрел - ушёл из кода OpenSSL с желанием это развидеть, и
стойким ощущением, что не надо искать неприятностей и пытаться
делать разные настройки кеширования в разных SNI-серверах.
--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|