Re: ssl_verify_client и ошибка 400: Bad request. No required SSL certificate was sent

Maxim Dounin mdounin на mdounin.ru
Вт Мар 15 16:11:13 MSK 2011


Hello!

On Tue, Mar 15, 2011 at 03:26:57PM +0300, Андрей Коробков wrote:

> On Tue, 15 Mar 2011 05:58:41 +0300
> Евгений 'Rush' Непомнящий <rush.zlo at gmail.com> wrote:
> 
> > Очень плохо, что вы так и не показали нам конфиг.
> Я вовсе не хотел его скрывать, просто ждал приглашения
> (подумал, что есть смысл выкладывать, только если кто-нибудь предложит помочь...) :)
> Вот он:
> http://pastebin.com/7qH1UKGk (онсновной конфиг)
> http://pastebin.com/kwkdW1Sy (тестовый виртуальный хост)
> http://pastebin.com/szNvxVY1 (сертификат CA)
> http://pastebin.com/dRPmsR0G (сертификат сервера)
> http://pastebin.com/fqpJPQYQ (тестовый сертификат)
> http://pastebin.com/FPtswLN0 (тестовый ключ)
> 
> http://pastebin.com/md8Q97v7 (лог wget)
> http://pastebin.com/eGuVWgWt (лог curl)
> 
> Можете сами попробовать: https://test.fryxell.ru/
> Если получится зайти на сайт - там есть код подтверждения ;).
> 
> > 
> > ssl_verify_client - что у вас ? по дефолту то off.
> On. С off и optional всё нормально (сертификат не спрашивает у клиента).

Сейчас директива ssl_verify_client должена быть указана в сервере, 
являющимся сервером по умолчанию для данного listen-сокета.  Или 
на уровне http (что в итоге даст то же самое за счёт наследования).

У вас, судя по всему, в сервере по умолчанию для *:443 
ssl_verify_client не установлен в on.

Если хочется, чтобы работало само в рамках SNI - следует применить 
патч[1].  Но только не забываем про то, что SNI можно использовать 
только если вы контроллируете браузеры клиентов, в реальном мире 
велик процент непонимающих SNI браузеров.

[1] http://nginx.org/pipermail/nginx-devel/2011-February/000728.html

Maxim Dounin



Подробная информация о списке рассылки nginx-ru